@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.hidden{display:none}}:root{--background:#f7f6f2;--surface:#efede7;--foreground:#161816;--muted:#64665e;--rule:#d7d3c8;--accent:#2c5149;--white:#fbfaf7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);color:var(--foreground);letter-spacing:0;margin:0;font-family:Helvetica Neue,Segoe UI,Arial,sans-serif}a{color:inherit;text-decoration:none}p,h1,h2,h3{margin:0}.eyebrow{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:600}.site-header{z-index:2;border-bottom:1px solid var(--rule);background:var(--background);grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;min-height:86px;padding:0 clamp(1.25rem,4vw,3.5rem);display:grid;position:relative}.site-header--inverted{background:0 0;border-color:#fbfaf740;position:absolute;inset:0 0 auto}.wordmark{justify-self:start;align-items:center;gap:.8rem;display:inline-flex}.wordmark__logo{object-fit:contain;width:44px;height:44px}.wordmark__name{color:var(--foreground);font-size:1rem}.site-header--inverted .wordmark__name{color:#fbfaf7c2}.site-nav{gap:clamp(1.3rem,3vw,2.65rem);font-size:.93rem;display:flex}.site-nav a{opacity:.8;transition:opacity .18s}.site-nav a:hover,.site-nav a:focus-visible{opacity:1}.header-action{border:1px solid;justify-content:center;justify-self:end;align-items:center;min-height:45px;padding:0 1.3rem;font-size:.88rem;transition:background .18s,color .18s;display:inline-flex}.site-header:not(.site-header--inverted) .header-action:hover{background:var(--foreground);color:var(--white)}.site-header--inverted .header-action:hover{background:var(--white);color:var(--foreground)}.home-intro{grid-template-columns:minmax(280px,1fr) minmax(260px,430px);align-items:end;gap:clamp(2rem,7vw,8rem);padding:clamp(2.4rem,5vw,4.5rem) clamp(1.25rem,4vw,3.5rem) clamp(2rem,4vw,3rem);display:grid}.home-intro .eyebrow{margin-bottom:1.1rem}.home-intro h1{max-width:780px;font-size:clamp(2.8rem,6vw,5.7rem);font-weight:450;line-height:1}.home-intro__statement{color:var(--muted);font-size:clamp(1rem,1.45vw,1.25rem);line-height:1.65}.home-showcase{padding:0 clamp(1.25rem,4vw,3.5rem) clamp(3.5rem,7vw,5.5rem)}.carousel{background:var(--surface);position:relative;overflow:hidden}.carousel__media{background:#fff;position:absolute;inset:0}.carousel__media--expandable{cursor:zoom-in}.carousel__media img,.carousel__video{object-fit:contain;width:100%;height:100%}.carousel--hero{aspect-ratio:16/9;border:1px solid var(--rule)}.carousel--hero .carousel__media{inset:0 0 60px}.carousel--hero .carousel__controls{bottom:7px;left:clamp(1.25rem,4vw,3.5rem)}.carousel--gallery{aspect-ratio:16/9;border:1px solid var(--rule);width:100%}.carousel__caption{z-index:2;min-height:60px;color:var(--muted);justify-content:flex-end;align-items:center;gap:1.5rem;font-size:.82rem;display:flex;position:absolute;bottom:0;right:clamp(1.25rem,4vw,3.5rem)}.carousel--gallery .carousel__caption{color:var(--white);background:#1012118f;padding:.7rem .85rem;top:1rem;bottom:auto}.carousel--gallery .carousel__controls{top:1rem;bottom:auto}.carousel__controls{z-index:2;min-height:46px;color:var(--white);background:#10121194;align-items:center;display:inline-flex;position:absolute;bottom:7px;left:1.1rem}.carousel__button{width:46px;height:46px;color:inherit;cursor:pointer;background:0 0;border:0;font-size:1.15rem}.carousel__button--playback{font-family:Consolas,SFMono-Regular,monospace;font-size:.92rem}.carousel__fullscreen-button,.carousel__close-button{z-index:4;width:46px;height:46px;color:var(--white);cursor:pointer;background:#10121194;border:0;font-size:1.35rem;position:absolute;top:1rem;right:1rem}.carousel__fullscreen-button:hover,.carousel__fullscreen-button:focus-visible,.carousel__close-button:hover,.carousel__close-button:focus-visible{background:#101211d1}.carousel__button:hover,.carousel__button:focus-visible{background:#fbfaf72e}.carousel__count{text-align:center;min-width:62px;font-family:Consolas,SFMono-Regular,monospace;font-size:.76rem}.section{padding:clamp(4rem,7vw,6.75rem) clamp(1.25rem,4vw,3.5rem)}.section-heading{max-width:700px;margin-bottom:clamp(2.6rem,5vw,4.3rem)}.section-heading .eyebrow{margin-bottom:1.15rem}.section-heading h2,.practice__statement h2,.contact h2{font-size:clamp(2rem,3.2vw,3rem);font-weight:460;line-height:1.18}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.3rem,2.8vw,2.6rem);display:grid}.project-card__image{aspect-ratio:16/9;background:var(--surface);width:100%;display:block;position:relative;overflow:hidden}.project-card__image img{object-fit:contain;transition:transform .5s}.project-card__image video{object-fit:contain;width:100%;height:100%}.project-card__image:hover img,.project-card__image:hover video{transform:scale(1.025)}.project-card__details{border-bottom:1px solid var(--rule);justify-content:space-between;gap:1.5rem;padding:1.45rem 0 .9rem;display:flex}.project-card__details .meta{margin-bottom:.55rem}.project-card h3{font-size:clamp(1.25rem,1.8vw,1.55rem);font-weight:470}.project-card__secondary{color:var(--muted);flex-direction:column;align-items:flex-end;gap:.35rem;font-size:.86rem;display:flex}.project-card__client{color:var(--foreground);font-weight:600}.text-link{color:var(--accent);align-items:center;gap:.6rem;margin-top:1rem;font-size:.9rem;display:inline-flex}.practice{border-top:1px solid var(--rule)}.practice__inner{grid-template-columns:minmax(145px,.34fr) minmax(300px,1fr);gap:clamp(2rem,6vw,7rem);padding:clamp(4rem,8vw,7rem) clamp(1.25rem,4vw,3.5rem);display:grid}.practice__statement{max-width:800px}.practice__statement p{max-width:590px;color:var(--muted);margin-top:2rem;font-size:1rem;line-height:1.75}.services{border-top:1px solid var(--rule);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.service{border-right:1px solid var(--rule);flex-direction:column;justify-content:space-between;gap:2rem;min-height:136px;padding:1.55rem clamp(1.25rem,4vw,3.5rem);display:flex}.service:last-child{border-right:0}.service span{color:var(--muted);font-family:Consolas,SFMono-Regular,monospace;font-size:.8rem}.service p{line-height:1.45}.contact{background:var(--accent);color:var(--white);padding:clamp(4rem,8vw,7rem) clamp(1.25rem,4vw,3.5rem) clamp(2rem,4vw,3rem)}.contact .eyebrow{color:#fbfaf7a6;margin-bottom:1.15rem}.contact h2{max-width:720px}.contact__actions{flex-wrap:wrap;align-items:center;gap:1.75rem;margin-top:clamp(2.5rem,6vw,4.4rem);display:flex}.button{border:1px solid #fbfaf7a6;justify-content:center;align-items:center;min-height:54px;padding:0 1.5rem;transition:background .18s,color .18s;display:inline-flex}.button:hover,.button:focus-visible{background:var(--white);color:var(--foreground)}.button--dark{border-color:var(--foreground)}.button--dark:hover,.button--dark:focus-visible{background:var(--foreground);color:var(--white)}.contact__phone{font-size:1rem}.contact__person{gap:.35rem;display:grid}.contact__person p{font-weight:600}.contact__footer{color:#fbfaf7b3;border-top:1px solid #fbfaf747;justify-content:space-between;margin-top:clamp(4rem,10vw,8.5rem);padding-top:1.45rem;font-size:.9rem;display:flex}.footer{min-height:72px;color:var(--muted);justify-content:space-between;align-items:center;gap:1.5rem;padding:0 clamp(1.25rem,4vw,3.5rem);font-size:.8rem;display:flex}.project-page .site-header{z-index:3;position:sticky;top:0}.project-page__intro{padding:clamp(3.8rem,8vw,7.5rem) clamp(1.25rem,4vw,3.5rem) clamp(2.5rem,4vw,3.7rem)}.project-page__intro .eyebrow{margin-bottom:1.2rem}.project-page__intro h1{font-size:clamp(2.7rem,6vw,5.6rem);font-weight:450;line-height:1.05}.project-page__facts{color:var(--muted);gap:clamp(1.5rem,4vw,4rem);margin-top:clamp(2rem,4vw,3rem);display:flex}.project-page__client{margin-top:clamp(2rem,4vw,3rem);font-size:1rem;font-weight:600}.project-page__client+.project-page__facts{margin-top:.7rem}.project-page__description{max-width:1050px;color:var(--muted);grid-template-columns:1.15fr .85fr;gap:clamp(2rem,6vw,6rem);padding:clamp(3rem,6vw,5.5rem) clamp(1.25rem,4vw,3.5rem);font-size:1rem;line-height:1.8;display:grid}.project-galleries{padding:0 clamp(1.25rem,4vw,3.5rem)}.project-gallery{padding:0 0 clamp(3rem,6vw,5rem)}.project-gallery__heading{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.project-gallery__heading span{color:var(--muted);font-family:Consolas,SFMono-Regular,monospace;font-size:.78rem}.project-page__lead{color:var(--foreground);font-size:clamp(1.3rem,2.1vw,1.75rem);line-height:1.5}.project-page__navigation{justify-content:space-between;align-items:center;padding:0 clamp(1.25rem,4vw,3.5rem) clamp(3rem,6vw,5rem);display:flex}.project-page__navigation .text-link{margin-top:0}@media (max-width:760px){.site-header{grid-template-rows:76px auto;grid-template-columns:1fr auto;gap:1rem;min-height:auto}.site-nav{border-top:1px solid var(--rule);grid-column:1/-1;padding:1rem 0;position:static}.site-header:not(.site-header--inverted) .site-nav{border-color:var(--rule);background:var(--background)}.wordmark__logo{width:40px;height:40px}.header-action{min-height:42px;padding:0 1rem}.home-intro{grid-template-columns:1fr;gap:1.3rem;padding-top:2.2rem}.carousel--hero .carousel__caption{justify-content:space-between;min-height:54px;left:1.25rem;right:1.25rem}.carousel--hero .carousel__controls{bottom:61px}.carousel--hero .carousel__media{inset:0 0 108px}.home-showcase .carousel--hero{aspect-ratio:auto;flex-direction:column;display:flex}.home-showcase .carousel--hero .carousel__media{aspect-ratio:16/9;flex:none;position:relative;inset:auto}.home-showcase .carousel--hero .carousel__caption{padding:0 1.25rem;position:relative;inset:auto}.home-showcase .carousel--hero .carousel__controls{align-self:flex-start;margin:.5rem 1.25rem 1rem;position:relative;inset:auto}.project-grid,.practice__inner,.project-page__description{grid-template-columns:1fr}.projects{padding-top:3.25rem}.services{grid-template-columns:repeat(2,minmax(0,1fr))}.service:nth-child(2){border-right:0}.service:nth-child(n+3){border-top:1px solid var(--rule)}.contact__footer,.footer{flex-direction:column;align-items:flex-start}.footer{justify-content:center;padding-top:1.25rem;padding-bottom:1.25rem}.project-page__intro{padding-top:6rem}.project-page__facts{flex-wrap:wrap}}.carousel--expanded{z-index:1000;aspect-ratio:auto;background:#fff;border:0;width:100vw;height:100dvh;position:fixed;inset:0}.carousel--expanded.carousel--hero .carousel__media,.carousel--expanded.carousel--gallery .carousel__media,.home-showcase .carousel--expanded.carousel--hero .carousel__media{aspect-ratio:auto;position:absolute;inset:0}.carousel--expanded.carousel--hero .carousel__controls,.carousel--expanded.carousel--gallery .carousel__controls,.home-showcase .carousel--expanded.carousel--hero .carousel__controls{margin:0;position:absolute;top:auto;bottom:1rem;left:1rem}.carousel--expanded .carousel__caption,.home-showcase .carousel--expanded .carousel__caption{min-height:46px;color:var(--white);background:#10121194;padding:0 .85rem;position:absolute;inset:auto 1rem 1rem auto}@media (max-width:760px){.carousel--expanded .carousel__caption,.home-showcase .carousel--expanded .carousel__caption{justify-content:space-between;bottom:4.75rem;left:1rem;right:1rem}}
