@font-face{font-family:Inter Tight;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/InterTight-variable.woff2)format("woff2")}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Fraunces-variable.woff2)format("woff2")}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/Fraunces-italic-variable.woff2)format("woff2")}:root{--ink:#1c1917;--ink-2:#3d3833;--ink-3:#6f6862;--paper:#f4efe6;--paper-2:#ebe4d7;--white:#fffdf9;--accent:#ff7f32;--accent-ink:#d9621a;--sky:#b9cbd8;--rule:#17140f24;--font-body:"Inter Tight", "Inter", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--font-display:var(--font-body);--font-serif:"Fraunces", Georgia, serif;--max:1240px;--gutter:clamp(20px, 4vw, 56px);--radius:4px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-feature-settings:"ss01", "cv11";margin:0;font-size:17px;line-height:1.55}img,picture,video{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;margin:0;font-weight:600;line-height:1.02}p{margin:0}.wrap{max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink);font-size:12px;font-weight:600}.lede{color:var(--ink-2);max-width:58ch;font-size:clamp(18px,1.5vw,21px)}.btn{white-space:nowrap;border-radius:999px;align-items:center;gap:10px;padding:16px 24px;font-size:16px;font-weight:600;line-height:1;transition:transform .15s,background .15s,color .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--white)}.btn-primary:hover{background:var(--accent-ink)}.btn-ghost{color:var(--ink);border:1.5px solid}.btn-ghost:hover{background:var(--ink);color:var(--paper)}.btn-ghost.on-dark{color:var(--paper)}.btn-ghost.on-dark:hover{background:var(--paper);color:var(--ink)}.btn svg{width:18px;height:18px}.site-header{z-index:10;color:var(--paper);pointer-events:none;background:linear-gradient(#17140fd1 0%,#17140f99 45%,#17140f40 80%,#17140f00 100%);padding-bottom:56px;position:absolute;inset:0 0 auto}.site-header .wrap{pointer-events:auto}.site-header.solid{background:var(--paper);padding-bottom:0}.site-header .wrap{justify-content:space-between;align-items:center;gap:24px;height:84px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:12px;font-size:19px;font-weight:600;display:flex}.brand .mark{width:56px;height:auto}.nav{align-items:center;gap:28px;font-size:15px;font-weight:500;display:flex}.nav a{opacity:.9}.nav a:hover{opacity:1;text-underline-offset:6px;text-decoration:underline;text-decoration-color:var(--accent)}.nav .lang{opacity:.85;letter-spacing:.06em;align-items:center;gap:7px;font-size:13px;display:inline-flex}.nav .lang:hover{opacity:1}.flag{border-radius:2px;flex:none;width:20px;height:14px;box-shadow:0 0 0 1px #00000040}.nav .btn{padding:12px 18px;font-size:15px}.site-header.solid{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--rule);position:sticky}.btn .short{display:none}.brand,.nav>a:not(.btn){white-space:nowrap}@media (width<=900px){.nav>a:not(.btn):not(.lang){display:none}}@media (width<=760px){.nav{gap:16px}.site-header .wrap{height:68px}.brand{white-space:nowrap;font-size:17px}.brand .mark{width:44px}.nav .btn{padding:11px 16px;font-size:14px}.nav .btn .long{display:none}.nav .btn .short{display:inline}}@media (width<=400px){.brand .name{display:none}}@media (width<=480px){.btn{white-space:normal;text-align:center;line-height:1.2}.hero .actions .btn,.cta .actions .btn{justify-content:center;width:100%}.hero .actions{flex-direction:column;align-items:stretch}}.hero{min-height:92svh;color:var(--paper);isolation:isolate;align-items:end;display:grid;position:relative}.hero img{object-fit:cover;z-index:-2;width:100%;height:100%;position:absolute;inset:0}.hero:after{content:"";z-index:-1;background:linear-gradient(#17140f59 0%,#17140f26 30%,#17140f8c 62%,#17140feb 100%);position:absolute;inset:0}.hero .wrap{min-width:0;max-width:min(var(--max), 100%);gap:28px;padding-block:max(112px,12vw) clamp(48px,8vw,96px);display:grid}.hero h1,.hero .lede{overflow-wrap:anywhere}.hero h1{font-family:var(--font-serif);letter-spacing:-.015em;max-width:12ch;font-size:clamp(42px,7.2vw,104px);font-weight:500}.hero h1 em{color:var(--accent);font-style:italic;font-weight:400}.hero .lede{color:#f4efe6db}.hero .actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.hero .meta{opacity:.75;flex-wrap:wrap;gap:8px 28px;font-size:14px;display:flex}.hero .meta a{text-underline-offset:4px;text-decoration:underline #f4efe680}.hero .meta a:hover{opacity:1;text-decoration-color:var(--accent)}.hero .area-line{color:var(--paper);opacity:.9;text-shadow:0 1px 12px #17140f99;max-width:60ch;line-height:1.7}section{padding-block:clamp(64px,9vw,128px)}.section-head{gap:14px;margin-bottom:clamp(32px,5vw,64px);display:grid}.section-head h2{max-width:16ch;font-size:clamp(32px,4.6vw,60px)}.section-head .lede{max-width:52ch}.services{background:var(--white);border-block:1px solid var(--rule)}.service-list{border-top:1px solid var(--rule);border-left:1px solid var(--rule);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.service{isolation:isolate;background:var(--white);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);flex-direction:column;gap:14px;min-width:0;min-height:300px;padding:clamp(24px,3vw,40px);display:flex;position:relative;overflow:hidden}.service>*{z-index:1;position:relative}.service-bg{opacity:0;pointer-events:none;transition:opacity .55s;position:absolute;inset:0;z-index:0!important}.service-bg img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s cubic-bezier(.2,.7,.2,1);transform:scale(1.06)}.service-bg:after{content:"";background:linear-gradient(#fffdf98c 0%,#fffdf9d1 55%,#fffdf9f5 100%);position:absolute;inset:0}@media (hover:hover){.service:hover .service-bg,.service:focus-within .service-bg{opacity:1}.service:hover .service-bg img,.service:focus-within .service-bg img{transform:scale(1)}}.service .num{letter-spacing:.1em;color:var(--ink-3);font-size:13px;font-weight:600}.service h3{font-size:clamp(24px,2.4vw,32px)}.service p{color:var(--ink-2);font-size:16px}.service .btn{align-self:flex-start;max-width:100%;margin-top:auto;padding:12px 18px;font-size:14px}.service p{margin-bottom:8px}.work{background:var(--ink);color:var(--paper)}.work .eyebrow{color:var(--sky)}.work .lede{color:#f4efe6c7}.work-grid{grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(160px,auto);gap:14px;display:grid}.work-grid figure{background:#2a2620;margin:0;position:relative;overflow:hidden}.work-grid figure img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.work-grid figure:hover img{transform:scale(1.025)}.work-grid figcaption{background:linear-gradient(#0000,#17140fcc);padding:14px 16px;font-size:13px;line-height:1.35;position:absolute;inset:auto 0 0}.work-grid figcaption b{font-weight:600;display:block}.work-grid figcaption span{opacity:.75}.w-a{grid-area:1/1/3/5}.w-b{grid-area:1/5/2/7}.w-c{grid-area:2/5/3/7}.w-d{grid-area:3/1/4/3}.w-e{grid-area:3/3/5/7}.w-f{grid-area:4/1/5/3}@media (width<=760px){.work-grid{grid-template-columns:1fr 1fr;grid-auto-rows:200px}.work-grid figure{grid-area:auto!important}.work-grid .w-a,.work-grid .w-e{grid-area:span 1/1/auto/-1!important}}.work .note{opacity:.6;max-width:60ch;margin-top:28px;font-size:14px}.process ol{counter-reset:step;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(24px,4vw,56px);margin:0;padding:0;list-style:none;display:grid}.process li{counter-increment:step;border-top:2px solid var(--ink);gap:12px;padding-top:20px;display:grid}.process li:before{content:counter(step, decimal-leading-zero);letter-spacing:.1em;color:var(--accent-ink);font-size:13px;font-weight:600}.process h3{font-size:clamp(24px,2.4vw,30px)}.process p{color:var(--ink-2)}.values{background:var(--paper-2)}.values-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(24px,4vw,56px);display:grid}.values h3{margin-bottom:10px;font-size:26px}.values p{color:var(--ink-2)}.values blockquote{font-family:var(--font-serif);letter-spacing:-.01em;max-width:30ch;margin:0 0 clamp(32px,5vw,64px);font-size:clamp(24px,3vw,40px);font-weight:400;line-height:1.2}.values blockquote em{color:var(--accent-ink);font-style:italic}.area .cities{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.area .cities span{border:1px solid var(--rule);background:var(--white);border-radius:999px;padding:10px 16px;font-size:15px}.cta{background:var(--accent);color:var(--white)}.cta .wrap{grid-template-columns:1.4fr 1fr;align-items:center;gap:24px;display:grid}.cta h2{max-width:14ch;font-size:clamp(34px,5vw,64px)}.cta .actions{justify-items:start;gap:12px;display:grid}.cta .btn-primary{background:var(--ink)}.cta .btn-primary:hover{background:#000}.cta .phone{font-size:18px;font-weight:600}.cta .phone small{opacity:.85;font-size:14px;font-weight:400;display:block}@media (width<=760px){.cta .wrap{grid-template-columns:1fr}}.site-footer{background:var(--ink);color:#f4efe6cc;padding-block:48px 32px;font-size:14px}.site-footer .wrap{grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;display:grid}.site-footer h4{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--sky);margin-bottom:12px;font-size:12px}.site-footer ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.site-footer a:hover{color:var(--paper);text-underline-offset:4px;text-decoration:underline}.site-footer .lockup{width:min(300px,100%);height:auto;margin-bottom:14px}.site-footer .fine{opacity:.7;border-top:1px solid #f4efe626;flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;gap:8px 24px;padding-top:20px;font-size:13px;display:flex}.site-footer .wrap>*{min-width:0}.site-footer a,.site-footer li{overflow-wrap:anywhere}@media (width<=760px){.site-footer .wrap{grid-template-columns:1fr 1fr}.site-footer .wrap>:first-child{grid-column:1/-1}}@media (width<=420px){.site-footer .wrap{grid-template-columns:1fr}}.prose-page{padding-top:120px}.prose{max-width:72ch}.prose h1{margin-bottom:8px;font-size:clamp(36px,5vw,56px)}.prose .updated{color:var(--ink-3);margin-bottom:40px;font-size:14px}.prose h2{margin:40px 0 12px;font-size:26px}.prose h3{margin:28px 0 8px;font-size:20px;font-weight:600}.prose p,.prose li{color:var(--ink-2);margin-bottom:12px}.prose ul{padding-left:22px}.prose a{color:var(--accent-ink);text-underline-offset:3px;text-decoration:underline}.prose .callout{background:var(--white);border-left:3px solid var(--accent);margin:24px 0;padding:16px 20px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.work-grid figure img{transition:none}}@media (prefers-reduced-motion:no-preference){@keyframes hero-img{0%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}.hero img{transform-origin:50% 40%;animation:1.8s cubic-bezier(.2,.7,.2,1) both hero-img}.hero .area-line,.hero h1,.hero .lede,.hero .actions,.hero .meta{animation:.9s cubic-bezier(.2,.7,.2,1) both rise}.hero .area-line{animation-delay:.15s}.hero h1{animation-delay:.25s}.hero .lede{animation-delay:.4s}.hero .actions{animation-delay:.5s}.hero .meta{animation-delay:.6s}@supports (animation-timeline:view()){@keyframes reveal{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}@keyframes reveal-img{0%{opacity:0;transform:scale(1.05)}to{opacity:1;transform:none}}@keyframes draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}[data-reveal]{animation:linear both reveal view();animation-range:entry entry 38%}[data-reveal][style*=--i]{animation-range:entry calc(0% + var(--i) * 7%) entry calc(38% + var(--i) * 7%)}.work-grid figure[data-reveal]{animation-name:reveal-img;animation-range:entry entry 45%}.process li[data-reveal]{border-top-color:#0000;position:relative}.process li[data-reveal]:after{content:"";background:var(--ink);transform-origin:0;height:2px;animation:linear both draw view();animation-range:entry 10% entry 60%;position:absolute;top:-2px;left:0;right:0}.cta[data-reveal]{animation-range:entry entry 25%}}}
