@import"https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap";:root{--ink: #151515;--muted: #60615c;--paper: #f5f2eb;--paper-strong: #ece6dc;--white: #fffefb;--line: #d6d0c6;--clay: #8d4d38;--pine: #263f38;--steel: #5e6a70;--gold: #9a7640;--shadow: 0 18px 44px rgba(21, 21, 21, .13);--container: 1180px;--gutter: 24px;--font-body: "Instrument Sans", "Avenir Next", Helvetica, sans-serif;--font-display: "Libre Baskerville", Georgia, serif}*{box-sizing:border-box}html{color:var(--ink);background:var(--paper);scroll-behavior:smooth;overflow-x:hidden}body{margin:0;font-family:var(--font-body);font-size:17px;line-height:1.65;color:var(--ink);background:var(--paper);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow-x:hidden}body::selection{color:var(--white);background:var(--clay)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,textarea,select{font:inherit}main{overflow:hidden}.skip-link{position:absolute;top:8px;left:8px;z-index:200;transform:translateY(-150%);padding:10px 14px;background:var(--ink);color:var(--white)}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;top:0;z-index:100;background:#f6f2eaf2;border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.site-header-home{position:absolute;left:0;right:0;background:transparent;border-bottom:0;backdrop-filter:none}.site-header-home .topline{display:none}.topline{display:flex;justify-content:space-between;gap:16px;max-width:var(--container);margin:0 auto;padding:7px var(--gutter);font-size:13px;color:var(--muted);border-bottom:1px solid rgba(216,208,194,.72)}.topline a{color:var(--ink)}.navbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;max-width:none;margin:0 auto;padding:20px 0 0}.brand-tile{display:grid;align-items:end;justify-items:start;width:112px;height:82px;padding:0 10px 13px 12px;color:var(--white);background:var(--ink);font-size:18px;font-weight:700;line-height:1;letter-spacing:0}.brand-tile span{display:block}.nav-links{display:flex;align-items:center;justify-content:flex-end;gap:clamp(24px,3.2vw,42px);padding-right:20px;font-size:16px;font-weight:500;color:var(--ink)}.site-header-home .nav-links,.site-header-home .nav-cta{color:var(--white)}.site-header-home .nav-links{justify-content:center}.site-header-home .nav-cta{display:none}.nav-links a,.nav-cta,.text-link{position:relative}.nav-links a:after,.nav-cta:after,.text-link:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.nav-links a:hover:after,.nav-links a.active:after,.nav-cta:hover:after,.text-link:hover:after{transform:scaleX(1)}.nav-cta{justify-self:end;margin-right:24px;color:var(--ink);font-size:16px;font-weight:500}@media(max-width:760px){.site-header-home .navbar{gap:16px}.site-header-home .brand-tile{width:98px;font-size:16px}.site-header-home .nav-cta{display:none}.site-header-home .nav-links{gap:24px;padding-right:8px;font-size:15px}}.nav-chevron{display:inline-block;margin-left:5px;transform:translateY(-1px)}.nav-toggle,.nav-toggle-label{display:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;color:var(--white);background:var(--ink);border:1px solid var(--ink);border-radius:2px;font-weight:700;line-height:1;transition:transform .18s ease,background .18s ease,color .18s ease}.button:hover{transform:translateY(-2px);background:var(--clay);border-color:var(--clay)}.button-light{color:var(--ink);background:var(--white);border-color:var(--white)}.button-light:hover{color:var(--white);background:var(--clay);border-color:var(--clay)}.text-link{display:inline-flex;width:fit-content;color:var(--clay);font-weight:800}.eyebrow{margin:0 0 14px;color:var(--clay);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:0}.home-carousel{position:relative;display:grid;align-items:end;min-height:100svh;color:var(--white);background:var(--ink);overflow:hidden}.carousel-track,.carousel-slide,.carousel-slide img{position:absolute;inset:0}.carousel-track:after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,#0c0d0d6b,#0c0d0d1f 42%,#0c0d0dad),linear-gradient(90deg,rgba(12,13,13,.2) 0%,transparent 42%);pointer-events:none}.carousel-slide{margin:0;opacity:0;transform:translate(0) scale(1.04);animation:carousel-slide 24s cubic-bezier(.76,0,.2,1) infinite;animation-delay:calc(var(--slide-index) * 6s)}.carousel-slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.04)}.carousel-slide figcaption{position:absolute;right:38px;bottom:36px;z-index:4;display:grid;gap:2px;max-width:260px;color:#ffffffd1;font-size:13px;text-align:right}.carousel-slide figcaption strong{color:var(--white);font-family:var(--font-display);font-size:20px;font-weight:400}.home-carousel-copy{position:relative;z-index:5;display:grid;grid-template-columns:minmax(0,.7fr) minmax(320px,.3fr);align-items:end;gap:48px;width:100%;padding:0 7vw 82px}.home-carousel-copy>p{grid-column:1 / -1;margin:0 0 -28px;color:#ffffffc2;font-size:13px;font-weight:700;letter-spacing:0;text-transform:uppercase}.home-carousel-copy h1{margin:0;max-width:760px;font-family:var(--font-display);font-size:clamp(58px,8vw,116px);font-weight:400;line-height:.92}.home-carousel-lead{display:grid;gap:24px;max-width:420px;justify-self:end;color:#ffffffc7}.home-carousel-lead p{margin:0;font-size:17px;line-height:1.62}.home-carousel-lead a{width:fit-content;color:var(--white);font-size:16px;font-weight:600;border-bottom:1px solid currentColor}.carousel-progress{position:absolute;left:7vw;right:38px;bottom:32px;z-index:5;display:grid;grid-template-columns:repeat(4,minmax(40px,1fr));gap:8px;max-width:360px}.carousel-progress span{height:2px;background:#ffffff4d;overflow:hidden}.carousel-progress span:before{content:"";display:block;width:100%;height:100%;background:var(--white);transform:translate(-100%);animation:carousel-progress 24s linear infinite;animation-delay:calc(var(--progress-index, 0) * 6s)}.carousel-progress span:nth-child(1):before{--progress-index: 0}.carousel-progress span:nth-child(2):before{--progress-index: 1}.carousel-progress span:nth-child(3):before{--progress-index: 2}.carousel-progress span:nth-child(4):before{--progress-index: 3}@keyframes carousel-slide{0%{opacity:1;transform:translate(0) scale(1.04)}20%{opacity:1;transform:translate(-3%) scale(1.04)}28%{opacity:0;transform:translate(-8%) scale(1.04)}to{opacity:0;transform:translate(-8%) scale(1.04)}}@keyframes carousel-progress{0%,24.9%{transform:translate(-100%)}25%,49.9%{transform:translate(0)}50%,to{transform:translate(100%)}}.hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:stretch;min-height:760px;max-width:1440px;margin:0 auto;padding:44px var(--gutter) 72px;gap:42px}.hero-compact{min-height:560px}.hero-copy{align-self:center;max-width:620px;min-width:0}.hero h1{margin:0;font-family:var(--font-display);font-size:84px;line-height:.95;font-weight:700;overflow-wrap:break-word}.hero-lead{max-width:560px;margin:30px 0 0;color:var(--muted);font-size:21px;line-height:1.55}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:34px}.hero-media{position:relative;min-width:0;min-height:640px;margin:0;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}.hero-compact .hero-media{min-height:470px}.hero-media:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#1515150f,#15151547);pointer-events:none}.hero-media img{width:100%;height:100%;object-fit:cover}.stats-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:44px 0 0;padding:0;background:var(--line);border:1px solid var(--line)}.stats-row div{padding:18px;background:#fffdfab8}.stats-row dt{font-size:24px;font-weight:800}.stats-row dd{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.4}.section{padding:96px var(--gutter)}.section-tight{padding:64px var(--gutter)}.section-white{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-ink{color:var(--white);background:var(--ink)}.shell{max-width:var(--container);margin:0 auto}.section-intro{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,.45fr);align-items:end;gap:56px;max-width:var(--container);margin:0 auto 44px}.section-intro h2{grid-column:1;margin:0;font-family:var(--font-display);font-size:48px;line-height:1.08;overflow-wrap:break-word}.section-intro .eyebrow{grid-column:1 / -1;margin-bottom:0}.section-intro p:not(.eyebrow){grid-column:2;margin:0;color:var(--muted)}.section-ink .section-intro p:not(.eyebrow),.section-ink .muted{color:#fffdfab8}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:var(--container);margin:0 auto}.feature-card{display:grid;grid-template-rows:auto 1fr;min-height:100%;background:var(--white);border:1px solid var(--line);border-radius:4px;overflow:hidden}.feature-card img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-bottom:1px solid var(--line)}.feature-card>div{padding:28px}.feature-card h3{margin:0;font-size:26px;line-height:1.15}.feature-card p{margin:14px 0 22px;color:var(--muted)}.split-section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}.split-section.reverse{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.split-copy h2,.wide-copy h2{margin:0;font-family:var(--font-display);font-size:48px;line-height:1.08;overflow-wrap:break-word}.split-copy p,.wide-copy p{color:var(--muted)}.split-media{position:relative;min-width:0;margin:0;min-height:480px;overflow:hidden;border:1px solid var(--line);background:var(--paper-strong)}.split-media img{width:100%;height:100%;object-fit:cover}.process-list{display:grid;gap:1px;max-width:var(--container);margin:0 auto;padding:0;list-style:none;background:var(--line);border:1px solid var(--line)}.process-list li{display:grid;grid-template-columns:96px 1fr;gap:28px;padding:30px;background:var(--white)}.process-list span{color:var(--clay);font-family:var(--font-display);font-size:36px;line-height:1}.process-list h3{margin:0;font-size:24px}.process-list p{margin:8px 0 0;color:var(--muted)}.quote-block{max-width:980px;margin:0 auto}.quote-block blockquote{margin:0;font-family:var(--font-display);font-size:42px;line-height:1.18}.quote-block p{margin:24px 0 0;color:#fffdfab8}.project-stack{max-width:1440px;margin:0 auto}.project-band{position:relative;display:block;min-height:540px;overflow:hidden;border-top:4px solid var(--white);color:var(--white);background:var(--ink)}.project-band:first-child{border-top:0}.project-band img{width:100%;height:100%;min-height:inherit;object-fit:cover;opacity:.82;transition:transform .42s ease,opacity .42s ease}.project-band:hover img{transform:scale(1.035);opacity:.68}.project-band>div{position:absolute;left:var(--gutter);right:var(--gutter);bottom:42px;max-width:640px}.project-band p,.project-band span{margin:0;color:#fffdfad1;font-size:14px;font-weight:800}.project-band h3{margin:8px 0;font-family:var(--font-display);font-size:46px;line-height:1.08}.image-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.image-grid figure{margin:0;overflow:hidden;border:1px solid var(--line);background:var(--paper-strong)}.image-grid figure:nth-child(1){grid-column:span 7}.image-grid figure:nth-child(2){grid-column:span 5}.image-grid figure:nth-child(3),.image-grid figure:nth-child(4){grid-column:span 6}.image-grid img{width:100%;height:100%;min-height:340px;object-fit:cover}.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;max-width:var(--container);margin:0 auto;background:var(--line);border:1px solid var(--line)}.blog-card{display:grid;grid-template-rows:auto 1fr;background:var(--white)}.blog-card img{width:100%;aspect-ratio:16 / 11;object-fit:cover}.blog-card>div{padding:30px}.blog-card p:first-child{margin:0 0 12px;color:var(--clay);font-size:13px;font-weight:800;text-transform:uppercase}.blog-card h2{margin:0;font-family:var(--font-display);font-size:32px;line-height:1.12}.blog-card p:not(:first-child){margin:16px 0 22px;color:var(--muted)}.service-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.service-directory article{padding:32px;background:var(--white)}.service-directory h3{margin:0 0 18px;font-size:24px}.service-directory ul,.check-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.service-directory li,.check-list li{display:grid;grid-template-columns:14px 1fr;gap:10px;color:var(--muted)}.service-directory li:before,.check-list li:before{content:"";width:6px;height:6px;margin-top:11px;background:var(--clay)}.comparison-table{width:100%;border-collapse:collapse;background:var(--white);border:1px solid var(--line)}.comparison-table th,.comparison-table td{padding:18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.comparison-table th{color:var(--ink);background:var(--paper-strong)}.comparison-table td{color:var(--muted)}.contact-band{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) auto;gap:32px;align-items:center;max-width:var(--container);margin:0 auto;padding:38px;color:var(--white);background:var(--pine);border:1px solid rgba(255,253,250,.16)}.contact-band h2{margin:0;font-family:var(--font-display);font-size:36px;line-height:1.12}.contact-band p:not(.eyebrow){margin:0;color:#fffdfac7}.office-grid,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.office-card{padding:28px;background:var(--white);border:1px solid var(--line);border-radius:4px}.office-card h3{margin:0 0 8px}.office-card p{margin:0;color:var(--muted)}.contact-form{display:grid;gap:18px;padding:32px;background:var(--white);border:1px solid var(--line)}.field{display:grid;gap:8px}.field label{font-size:13px;font-weight:800;text-transform:uppercase}.field input,.field textarea,.field select{width:100%;min-height:48px;padding:12px 14px;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:2px}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--clay);outline-offset:2px}.form-note{margin:0;color:var(--muted);font-size:14px}.site-footer{color:var(--white);background:var(--ink)}.footer-grid{display:grid;grid-template-columns:1.4fr .55fr .8fr .7fr;gap:36px;max-width:var(--container);margin:0 auto;padding:72px var(--gutter)}.footer-lead h2{max-width:520px;margin:0;font-family:var(--font-display);font-size:42px;line-height:1.08}.footer-lead p:not(.eyebrow),.footer-note{color:#fffdfab3}.footer-title{margin:0 0 16px;color:var(--white);font-size:13px;font-weight:800;text-transform:uppercase}.footer-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.footer-list li{display:grid;gap:2px}.footer-list a,.footer-list span{color:#fffdfabd}.footer-list a:hover{color:var(--white)}.footer-note{margin:18px 0 0;font-size:14px}.footer-bottom{display:flex;justify-content:space-between;gap:18px;max-width:var(--container);margin:0 auto;padding:18px var(--gutter) 28px;color:#fffdfa9e;font-size:13px;border-top:1px solid rgba(255,253,250,.16)}.reveal{animation:reveal-up .56s ease both}.reveal-delay{animation-delay:.13s}@keyframes reveal-up{0%{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}@media(max-width:1060px){.hero,.hero-compact,.split-section,.split-section.reverse,.section-intro{grid-template-columns:1fr}.hero{min-height:auto}.hero h1{font-size:64px}.hero-media,.hero-compact .hero-media{min-height:500px}.home-carousel-copy{grid-template-columns:1fr;gap:24px;padding:0 34px 86px}.home-carousel-copy>p{margin-bottom:0}.home-carousel-lead{justify-self:start;max-width:560px}.section-intro p:not(.eyebrow){grid-column:1}.feature-grid,.blog-grid,.service-directory,.footer-grid{grid-template-columns:1fr 1fr}.contact-band{grid-template-columns:1fr}}@media(max-width:820px){.topline{display:none}.navbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px var(--gutter)}.brand-tile{width:116px;height:66px;padding:0 9px 10px;font-size:16px}.nav-toggle-label{position:fixed;top:26px;left:154px;right:auto;z-index:180;display:grid!important;flex:0 0 auto;gap:5px;width:42px;height:42px;place-content:center;border:1px solid var(--line);cursor:pointer}.site-header-home .nav-toggle-label{border-color:#ffffff85;background:#000}.nav-toggle-label span{display:block;width:20px;height:2px;background:var(--ink)}.site-header-home .nav-toggle-label span{background:var(--white)}.nav-links,.nav-cta{display:none!important}.nav-toggle:checked~.nav-links,.nav-toggle:checked~.nav-cta{display:grid!important;flex:0 0 100%;justify-content:stretch;gap:0;padding:0;color:var(--ink);background:#fffefbf5}.nav-toggle:checked~.nav-links a,.nav-toggle:checked~.nav-cta{margin:0;padding:14px 16px;border-top:1px solid var(--line)}}@media(max-width:820px){body{font-size:16px}.hero{padding-top:34px}.home-carousel{min-height:100svh}.carousel-slide figcaption{display:none}.home-carousel-copy{padding:0 22px 74px}.home-carousel-copy h1{max-width:9ch;font-size:56px}.home-carousel-lead p{max-width:32ch;font-size:16px}.carousel-progress{left:22px;right:22px;bottom:24px;max-width:none}.hero h1{font-size:48px;line-height:1.02}.hero-lead{font-size:18px}.hero-media,.hero-compact .hero-media,.split-media{min-height:360px}.stats-row{grid-template-columns:1fr}.section,.section-tight{padding-top:64px;padding-bottom:64px}.section-intro h2,.split-copy h2,.wide-copy h2{font-size:36px}.feature-grid,.blog-grid,.service-directory,.office-grid,.form-grid,.footer-grid,.process-list li{grid-template-columns:1fr}.quote-block blockquote{font-size:30px}.project-band{min-height:420px}.project-band h3{font-size:34px}.image-grid{grid-template-columns:1fr}.image-grid figure:nth-child(1),.image-grid figure:nth-child(2),.image-grid figure:nth-child(3),.image-grid figure:nth-child(4){grid-column:auto}.comparison-table{display:block;overflow-x:auto}.footer-bottom{flex-direction:column}}@media(max-width:520px){:root{--gutter: 18px}.hero h1{max-width:11ch;font-size:38px}.home-carousel-copy h1{font-size:44px}.hero-copy,.hero-lead,.hero-actions,.stats-row,.hero-media,.hero-compact .hero-media{width:100%;max-width:min(354px,calc(100vw - 36px))}.hero-media,.hero-compact .hero-media,.split-media{min-height:300px}.button{width:100%}.hero-actions{align-items:stretch}.feature-card>div,.service-directory article,.office-card,.contact-form,.contact-band{padding:22px}}
