@font-face{font-family:"Noto Sans";font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/NotoSans.woff2)format("woff2")}@font-face{font-family:"Noto Sans";font-style:italic;font-weight:100 900;font-display:swap;src:url(fonts/NotoSans-Italic.woff2)format("woff2")}:root{--bg:#ffffff;--surface:#FFFFFF;--ink:#0B0B0B;--black:#000000;--slate:#5A6470;--muted:#9AA3AD;--hairline:#E9E7E2;--input-border:#D8D4CC;--bronze:#B3854D;--navy:#1F3A54;--font:'Noto Sans', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--fs-base:1rem;--fs-h1:calc(var(--fs-base) * 3.9);--fs-h2:calc(var(--fs-base) * 2.4);--fs-h3:calc(var(--fs-base) * 1.5);--fs-h4:calc(var(--fs-base) * 1.4);--fs-lead:calc(var(--fs-base) * 1.3);--fs-lg:calc(var(--fs-base) * 1.1);--fs-body:var(--fs-base);--fs-sm:calc(var(--fs-base) * 0.9);--fs-xs:calc(var(--fs-base) * 0.8);--space:1rem;--gutter:calc(var(--space) * 4.5);--maxw:77.5rem;--radius-card:8px;--radius-pill:999px;--t:150ms ease}*,::after,::before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-kerning:normal;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-feature-settings:"liga"1,"clig"1,"kern"1}blockquote,body,figure,h1,h2,h3,p,ul{margin:0}ul{list-style:none;padding:0}[hidden]{display:none!important}a{color:var(--navy);text-decoration:none;transition:color var(--t)}a:hover{color:var(--bronze)}img,svg{display:block}button,input,textarea{font:inherit}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,::after,::before{transition-duration:.01ms!important;animation-duration:.01ms!important}}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;padding:calc(var(--space)*.8) calc(var(--space)*1.3);background:var(--ink);color:#fff;border-radius:0 0 var(--radius-card)0}.skip-link:focus{left:0;color:#fff}:focus-visible{outline:2px solid var(--bronze);outline-offset:2px;border-radius:3px}.section{padding:0 var(--gutter) calc(var(--space)*6);max-width:var(--maxw);margin:0 auto}.eyebrow{font-size:var(--fs-lg);font-weight:600;line-height:1;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze);font-feature-settings:"case"1,"cpsp"1}.section-head{display:flex;align-items:baseline;gap:calc(var(--space)*1.3);margin-bottom:calc(var(--space)*2.8)}.section-head-rule{height:1px;flex:1;background:var(--hairline)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.8rem;padding:calc(var(--space)*.9) calc(var(--space)*1.9);border:1.5px solid transparent;border-radius:var(--radius-pill);font-size:var(--fs-body);font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;transition:background-color var(--t),color var(--t),border-color var(--t)}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover{background:var(--bronze);color:#fff}.btn-outline{border-color:var(--input-border);color:var(--ink);background:0 0}.btn-nav,.btn-outline:hover{border-color:var(--ink);color:var(--ink)}.btn-nav{min-height:0;padding:calc(var(--space)*.7) calc(var(--space)*1.4);background:0 0}.btn-nav:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.site-header{display:flex;justify-content:space-between;align-items:center;gap:calc(var(--space)*1.5);padding:calc(var(--space)*1.6) var(--gutter);border-bottom:1px solid var(--hairline);max-width:var(--maxw);margin:0 auto}.brand{display:inline-flex;align-items:center}.brand-lockup{display:block;height:2.1rem;width:auto}.site-nav{display:flex;align-items:center;gap:calc(var(--space)*2.1);font-size:var(--fs-sm);font-weight:500;white-space:nowrap}.site-nav>a:not(.btn){color:var(--slate)}.site-nav>a:not(.btn):hover{color:var(--bronze)}.site-nav>a[aria-current=page]{color:var(--ink);font-weight:600}.hero,.hero-title{max-width:var(--maxw)}.hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:calc(var(--space)*1.8);padding:calc(var(--space)*6.9) var(--gutter) calc(var(--space)*6);margin:0 auto}.hero-title{font-size:var(--fs-h1);font-weight:700;line-height:1.08;letter-spacing:-.02em;text-wrap:balance}.hero-sub{font-size:var(--fs-lead);font-weight:400;line-height:1.55;color:var(--slate);max-width:var(--maxw);padding:0 calc(var(--space)*5);text-wrap:pretty}.hero-actions{display:flex;gap:var(--space);margin-top:calc(var(--space)*.5);flex-wrap:wrap;justify-content:center}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--hairline);border:1px solid var(--hairline)}.service{display:flex;flex-direction:column;gap:calc(var(--space)*.9);padding:calc(var(--space)*2.5) calc(var(--space)*2.5) calc(var(--space)*2.8);background:var(--bg);transition:background-color var(--t)}.service:hover{background:var(--surface)}.service-index{font-size:var(--fs-sm);font-weight:700;line-height:1;color:var(--bronze);font-variant-numeric:tabular-nums lining-nums slashed-zero}.service-title{font-size:var(--fs-h3);font-weight:700;line-height:1.2;letter-spacing:-.01em}.service-body{font-size:var(--fs-body);font-weight:400;line-height:1.6;color:var(--slate);text-wrap:pretty}.about-intro{display:flex;flex-direction:column;gap:calc(var(--space)*1.5);max-width:var(--maxw);margin-bottom:calc(var(--space)*3.5)}.about-title{font-size:var(--fs-h2);font-weight:700;line-height:1.15;letter-spacing:-.02em;text-wrap:balance;font-variant-numeric:oldstyle-nums proportional-nums}.about-body,.about-note{font-weight:400;line-height:1.6;color:var(--slate)}.about-body{font-size:var(--fs-lg);text-wrap:pretty}.about-note{font-size:var(--fs-sm)}.team{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:calc(var(--space)*1.5)}.team-card{flex:0 1 13.5rem;max-width:13.5rem;display:flex;flex-direction:column;border:1px solid var(--hairline);border-radius:var(--radius-card);overflow:hidden;background:var(--surface)}.team-card-photo{position:relative;aspect-ratio:1/1;background:rgba(179,133,77,.1)}.project-card-media::after,.team-card-photo::after{position:absolute;inset:0;display:grid;place-items:center;font-weight:600;color:var(--bronze)}.team-card-photo::after{content:attr(data-initials);font-size:calc(var(--fs-base)*1.9);letter-spacing:.02em;font-variant-numeric:normal}.project-card-media img,.team-card-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.team-card-text{display:flex;flex-direction:column;gap:calc(var(--space)*.2);padding:calc(var(--space)*1.1) calc(var(--space)*1.3) calc(var(--space)*1.3)}.team-card-name{font-size:var(--fs-lg);font-weight:600;line-height:1.25}.team-card-role{font-size:var(--fs-sm);font-weight:400;line-height:1.35;color:var(--slate)}.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(var(--space)*1.5)}.project-card{display:flex;flex-direction:column;border:1px solid var(--hairline);border-radius:var(--radius-card);overflow:hidden;background:var(--surface)}.project-card-media{position:relative;aspect-ratio:16/9;background:rgba(179,133,77,.1);border-bottom:1px solid var(--hairline)}.project-card-media::after{content:attr(data-label);padding:0 calc(var(--space)*1.5);text-align:center;font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase}.project-card-media:has(img)::after{display:none}.project-card-body{display:flex;flex-direction:column;gap:calc(var(--space)*.6);padding:calc(var(--space)*1.8) calc(var(--space)*1.9) calc(var(--space)*1.9)}.project-card-tag{font-size:var(--fs-xs);font-weight:600;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);font-feature-settings:"case"1}.project-card-title{font-size:var(--fs-h4);font-weight:700;line-height:1.25;letter-spacing:-.01em}.project-card-text{font-size:var(--fs-body);font-weight:400;line-height:1.6;color:var(--slate);text-wrap:pretty}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(var(--space)*2.3)}.step{display:flex;flex-direction:column;gap:calc(var(--space)*.8)}.step-head{display:flex;align-items:center;gap:calc(var(--space)*.6)}.step-chevron{flex:none}.step-title{font-size:calc(var(--fs-base)*1.2);font-weight:700;line-height:1.2}.step-body{font-size:var(--fs-sm);font-weight:400;line-height:1.55;color:var(--slate);text-wrap:pretty}.quote{display:flex;flex-direction:column;gap:calc(var(--space)*1.1);padding:calc(var(--space)*3.3) calc(var(--space)*3.5);border:1px solid var(--hairline);border-radius:var(--radius-card);background:var(--surface)}.quote-glyph{flex:none}.quote-text{font-size:var(--fs-h4);font-weight:500;line-height:1.5;font-style:italic;color:var(--muted);text-wrap:pretty}.quote-by{font-size:var(--fs-sm);font-weight:600;line-height:1;color:var(--slate)}.contact{padding-bottom:calc(var(--space)*6.9)}.contact-grid{display:grid;grid-template-columns:5fr 7fr;gap:calc(var(--space)*4);align-items:start}.contact-intro{display:flex;flex-direction:column;gap:calc(var(--space)*1.5)}.contact-title{font-size:var(--fs-h2);font-weight:700;line-height:1.15;letter-spacing:-.02em;text-wrap:balance}.contact-body{font-size:var(--fs-lg);font-weight:400;line-height:1.6;color:var(--slate);text-wrap:pretty}.contact-details,.form{display:flex;flex-direction:column}.contact-details{gap:calc(var(--space)*.6);margin-top:calc(var(--space)*.5);font-size:var(--fs-body);line-height:1.5;color:var(--slate);font-variant-numeric:oldstyle-nums slashed-zero}.contact-details a{color:var(--navy);font-weight:600}.contact-details a:hover{color:var(--bronze)}.form{gap:calc(var(--space)*1.1)}.honeypot{display:none}.field{display:flex;flex-direction:column;gap:calc(var(--space)*.5)}.field-label{font-size:var(--fs-xs);font-weight:600;line-height:1;color:var(--ink)}.field-input{border:1.5px solid var(--input-border);border-radius:var(--radius-card);padding:calc(var(--space)*.9) var(--space);font-size:var(--fs-body);color:var(--ink);background:var(--surface);transition:border-color var(--t)}.field-input::placeholder{color:var(--muted)}.field-input:focus{outline:0;border-color:var(--bronze)}.field-textarea{line-height:1.5;resize:vertical;min-height:8.3rem}.field-input[aria-invalid=true]{border-color:#c0492f}.field-error{font-size:var(--fs-xs);line-height:1.4;color:#c0492f}.form .btn{align-self:flex-start;padding:calc(var(--space)*.9) calc(var(--space)*2)}.form-noscript,.form-status{font-size:var(--fs-sm);line-height:1.5;color:var(--slate)}.form-status[data-state=error]{color:#c0492f}.form-noscript{line-height:1.6}.success-card{display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--space)*.9);padding:calc(var(--space)*3.5) calc(var(--space)*3);border:1px solid var(--hairline);border-radius:var(--radius-card);background:var(--surface)}.success-card-icon{flex:none}.success-card-title{font-size:var(--fs-h3);font-weight:700;line-height:1.2}.success-card-body{font-size:var(--fs-body);font-weight:400;line-height:1.6;color:var(--slate);text-wrap:pretty}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:calc(var(--space)*1.5);padding:calc(var(--space)*2.3) var(--gutter);background:var(--black)}.site-footer .brand-lockup{height:1.9rem}.site-footer-legal{font-size:var(--fs-xs);font-weight:400;line-height:1;color:var(--muted);font-variant-numeric:oldstyle-nums}@media (max-width:1024px){:root{--gutter:calc(var(--space) * 3);--fs-h1:calc(var(--fs-base) * 3.3)}}@media (max-width:820px){:root{--fs-h1:calc(var(--fs-base) * 2.9);--fs-lead:calc(var(--fs-base) * 1.1)}.site-nav>a:not(.btn){display:none}.contact-grid{grid-template-columns:1fr;gap:calc(var(--space)*2.5)}.process-grid{grid-template-columns:1fr 1fr;gap:calc(var(--space)*2)}.hero{padding-top:calc(var(--space)*5)}}@media (max-width:640px){:root{--gutter:calc(var(--space) * 1.5);--fs-h1:calc(var(--fs-base) * 2.4);--fs-h2:calc(var(--fs-base) * 1.9)}.site-header{padding-left:calc(var(--space)*1.3);padding-right:calc(var(--space)*1.3)}.btn-nav{padding:calc(var(--space)*.6) var(--space);font-size:var(--fs-xs)}.brand-word{font-size:var(--fs-lg)}.service-grid{grid-template-columns:1fr}.service{padding:calc(var(--space)*2) calc(var(--space)*1.8) calc(var(--space)*2.1)}.hero{padding:calc(var(--space)*4) var(--gutter) calc(var(--space)*4.5);gap:calc(var(--space)*1.4)}.hero-actions{width:100%}.hero-actions .btn{flex:1 1 auto}.about-title,.contact-title{font-size:var(--fs-h2)}.portfolio-grid{grid-template-columns:1fr}.quote{padding:calc(var(--space)*2.3) calc(var(--space)*1.8)}.quote-text{font-size:calc(var(--fs-base)*1.3)}.success-card{padding:calc(var(--space)*2.5) calc(var(--space)*1.8)}.site-footer{flex-direction:column;align-items:flex-start;gap:calc(var(--space)*1.1)}}