@font-face{unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-family:newsreader;src:url(../media/newsreader_normal_latin.p.0dadaljx6il3j.woff2)format("woff2");font-display:swap;font-weight:400 600;font-style:normal}@font-face{unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-family:newsreader;src:url(../media/newsreader_italic_latin.p.1x1t38si_fnud.woff2)format("woff2");font-display:swap;font-weight:400 600;font-style:italic}.newsreader_98892b47-module__-ZNPKa__className{font-family:newsreader}.newsreader_98892b47-module__-ZNPKa__variable{--font-newsreader:"newsreader"}
@font-face{unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;font-family:newsreaderExt;src:url(../media/newsreader_normal_latin_ext.2ax-g9mjx4z52.woff2)format("woff2");font-display:swap;font-weight:400 600;font-style:normal}@font-face{unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;font-family:newsreaderExt;src:url(../media/newsreader_italic_latin_ext.30p0obf9o_oin.woff2)format("woff2");font-display:swap;font-weight:400 600;font-style:italic}.newsreaderext_64c30898-module__vl40Lq__className{font-family:newsreaderExt}.newsreaderext_64c30898-module__vl40Lq__variable{--font-newsreader-ext:"newsreaderExt"}
@font-face{font-stretch:100% 125%;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-family:archivo;src:url(../media/archivo_normal_latin.p.3jwsd-9lj_gnb.woff2)format("woff2");font-display:swap;font-weight:300 700;font-style:normal}.archivo_77578d70-module__PuMbEq__className{font-family:archivo}.archivo_77578d70-module__PuMbEq__variable{--font-archivo:"archivo"}
@font-face{font-stretch:100% 125%;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;font-family:archivoExt;src:url(../media/archivo_normal_latin_ext.0vfpb20ukwu3j.woff2)format("woff2");font-display:swap;font-weight:300 700;font-style:normal}.archivoext_927a9a1b-module__p7hjjG__className{font-family:archivoExt}.archivoext_927a9a1b-module__p7hjjG__variable{--font-archivo-ext:"archivoExt"}
@font-face{font-family:MDN Sans;src:local(Arial),local(ArialMT);font-weight:300 700;font-style:normal;font-stretch:108%;size-adjust:105.23%;ascent-override:83.15%;descent-override:19.29%;line-gap-override:1.14%}@font-face{font-family:MDN Sans Android;src:local(Roboto),local(Roboto-Regular),local(Roboto Regular);font-weight:300 700;font-style:normal;font-stretch:108%;size-adjust:107.27%;ascent-override:81.57%;descent-override:18.92%;line-gap-override:1.12%}@font-face{font-family:MDN Sans;src:local(Arial),local(ArialMT);font-weight:300 700;font-style:normal;font-stretch:100%;size-adjust:103.19%;ascent-override:84.79%;descent-override:19.67%;line-gap-override:1.16%}@font-face{font-family:MDN Sans Android;src:local(Roboto),local(Roboto-Regular),local(Roboto Regular);font-weight:300 700;font-style:normal;font-stretch:100%;size-adjust:99.61%;ascent-override:87.84%;descent-override:20.38%;line-gap-override:1.2%}@font-face{font-family:MDN Sans;src:local(Arial),local(ArialMT);font-weight:300 700;font-style:normal;font-stretch:125%;size-adjust:129.41%;ascent-override:67.62%;descent-override:15.69%;line-gap-override:0.93%}@font-face{font-family:MDN Sans Android;src:local(Roboto),local(Roboto-Regular),local(Roboto Regular);font-weight:300 700;font-style:normal;font-stretch:125%;size-adjust:139.53%;ascent-override:62.71%;descent-override:14.55%;line-gap-override:0.86%}@font-face{font-family:MDN Sans;src:local(Arial),local(ArialMT);font-weight:300 700;font-style:normal;font-stretch:112%;size-adjust:113.36%;ascent-override:77.19%;descent-override:17.91%;line-gap-override:1.06%}@font-face{font-family:MDN Sans Android;src:local(Roboto),local(Roboto-Regular),local(Roboto Regular);font-weight:300 700;font-style:normal;font-stretch:112%;size-adjust:114.98%;ascent-override:76.1%;descent-override:17.65%;line-gap-override:1.04%}@font-face{font-family:MDN Sans;src:local(Arial),local(ArialMT);font-weight:300 700;font-style:normal;font-stretch:118%;size-adjust:121.1%;ascent-override:72.26%;descent-override:16.76%;line-gap-override:0.99%}@font-face{font-family:MDN Sans Android;src:local(Roboto),local(Roboto-Regular),local(Roboto Regular);font-weight:300 700;font-style:normal;font-stretch:118%;size-adjust:131.95%;ascent-override:66.31%;descent-override:15.38%;line-gap-override:0.91%}@font-face{font-family:"MDN Serif 20";src:local(Times New Roman Italic),local(TimesNewRomanPS-ItalicMT);font-weight:400 600;font-style:italic;size-adjust:99.6%;ascent-override:73.79%;descent-override:26.71%;line-gap-override:0.9%}@font-face{font-family:"MDN Serif 20 Android";src:local(Noto Serif Italic),local(NotoSerif-Italic);font-weight:400 600;font-style:italic;size-adjust:88.88%;ascent-override:82.7%;descent-override:29.93%;line-gap-override:1.01%}@font-face{font-family:"MDN Serif 20";src:local(Times New Roman),local(TimesNewRomanPSMT);font-weight:400 600;font-style:normal;size-adjust:101.11%;ascent-override:72.69%;descent-override:26.31%;line-gap-override:0.89%}@font-face{font-family:"MDN Serif 20 Android";src:local(Noto Serif),local(NotoSerif-Regular),local(Noto Serif Regular);font-weight:400 600;font-style:normal;size-adjust:86.94%;ascent-override:84.54%;descent-override:30.59%;line-gap-override:1.04%}@font-face{font-family:"MDN Serif 36";src:local(Times New Roman Italic),local(TimesNewRomanPS-ItalicMT);font-weight:400 600;font-style:italic;size-adjust:90.09%;ascent-override:81.59%;descent-override:29.52%;line-gap-override:1.0%}@font-face{font-family:"MDN Serif 36 Projeto";src:local(Times New Roman Italic),local(TimesNewRomanPS-ItalicMT);font-weight:400 600;font-style:italic;size-adjust:94.59%;ascent-override:77.71%;descent-override:28.12%;line-gap-override:0.95%}@font-face{font-family:"MDN Serif 36 Android";src:local(Noto Serif Italic),local(NotoSerif-Italic);font-weight:400 600;font-style:italic;size-adjust:82.62%;ascent-override:88.96%;descent-override:32.2%;line-gap-override:1.09%}@font-face{font-family:"MDN Serif 36 Projeto Android";src:local(Noto Serif Italic),local(NotoSerif-Italic);font-weight:400 600;font-style:italic;size-adjust:82.62%;ascent-override:88.96%;descent-override:32.2%;line-gap-override:1.09%}@font-face{font-family:"MDN Serif 36";src:local(Times New Roman),local(TimesNewRomanPSMT);font-weight:400 600;font-style:normal;size-adjust:106.15%;ascent-override:69.24%;descent-override:25.06%;line-gap-override:0.84%}@font-face{font-family:"MDN Serif 36 Android";src:local(Noto Serif),local(NotoSerif-Regular),local(Noto Serif Regular);font-weight:400 600;font-style:normal;size-adjust:88.02%;ascent-override:83.51%;descent-override:30.22%;line-gap-override:1.02%}
:root{--navy:#080f28;--navy-2:#0c1636;--navy-deep:#050a1c;--paper:#f4f2ed;--paper-2:#ebe7df;--graphite:#1d1f23;--grey-text:#585c64;--grey-on-dark:#b3b7c1;--gold:#a68b55;--gold-text:#6b5527;--gold-bright:#d9be85;--error:#a3261b;--line-light:#080f2824;--line-dark:#f4f2ed24;--f-news:var(--font-newsreader), var(--font-newsreader-ext);--f-arch:var(--font-archivo), var(--font-archivo-ext);--font-display:var(--f-news), Georgia, "Times New Roman", serif;--font-title:var(--font-display);--font-body:var(--f-arch), Arial, sans-serif;--header-h:80px;--focus:var(--navy);--ease:cubic-bezier(.19, 1, .22, 1);--gutter:24px}html.fonts-loading{--f-news:"mdn-a-carregar";--f-arch:"mdn-a-carregar"}.site-header,main>:first-child,main>header{--font-display:var(--f-news), "MDN Serif 20", "MDN Serif 20 Android", serif;--font-title:var(--f-news), "MDN Serif 36", "MDN Serif 36 Android", serif;--font-body:var(--f-arch), "MDN Sans", "MDN Sans Android", sans-serif;font-family:var(--font-body)}.project-head__title em{font-family:var(--f-news), "MDN Serif 36 Projeto", "MDN Serif 36 Projeto Android", serif}.vh__back,.vh__caption-wrap,.vh__closing{--font-display:var(--f-news), Georgia, "Times New Roman", serif;--font-title:var(--font-display);--font-body:var(--f-arch), Arial, sans-serif}*,:before,:after{box-sizing:border-box}html,body{width:100%;max-width:100%;overflow-x:clip}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}body{background:var(--paper);color:var(--navy);font-family:var(--font-body);font-optical-sizing:none;font-variation-settings:"opsz" 20;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1.0625rem;line-height:1.65}body:after{content:"";z-index:100;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}html.menu-open body{overflow:hidden}img,video,canvas,svg{max-width:100%;height:auto;display:block}h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}p a{-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold)}a[href^=tel\:]{white-space:nowrap}em{font-style:normal;font-weight:600}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--gold);color:var(--navy)}:focus-visible{outline:2px solid var(--focus);outline-offset:4px}main{padding-top:var(--header-h)}main:has(>.vh:first-child){padding-top:0}main:focus{outline:none}.site-header,.mobile-menu,.vh,.page-intro,.project-head,.section--dark,.call-band,.next-project,.not-found,.site-footer,.marquee--dark{--focus:var(--gold-bright)}.skip-link{z-index:200;background:var(--paper);color:var(--navy);padding:.75rem 1rem;font-weight:600;position:absolute;top:-100px;left:16px}.skip-link:focus{top:16px}.site-container{width:100%;max-width:1320px;margin-inline:auto;padding-inline:48px}@media (max-width:1024px){.site-container{padding-inline:32px}}@media (max-width:640px){.site-container{padding-inline:20px}}.label{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--grey-text);font-size:.75rem;font-weight:500;font-stretch:125%}.label--light,.label--muted{color:var(--grey-on-dark)}.label--gold{color:var(--gold-bright)}.section-title,.page-intro__title,.vh__title,.statement__text,.call-band__title,.service-row__title,.service-block__title,.featured__name,.project-card__name,.project-head__title,.steps__title,.contact__form-title,.not-found__title,.about-page__lead,.vh__caption-name,.vh__closing,.site-footer__tagline,.site-footer__wordmark,.marquee__item,.legal h2{font-family:var(--font-title);font-optical-sizing:none;font-variation-settings:"opsz" 36;letter-spacing:-.025em;font-weight:400}:is(.section-title,.page-intro__title,.vh__title,.statement__text,.call-band__title,.featured__name,.project-card__name,.project-head__title,.about-page__lead,.vh__caption-name,.vh__closing,.site-footer__tagline,.site-footer__wordmark,.marquee__item) em{color:var(--gold-text);font-style:italic;font-weight:400}:is(.vh,.page-intro,.project-head,.section--dark,.call-band,.site-footer,.marquee--dark,.not-found) em{color:var(--gold)}.section-title{text-wrap:balance;font-size:clamp(2.75rem,6vw,5.75rem);line-height:.98}.section-title--small{margin-bottom:2rem;font-size:clamp(1.9rem,3vw,2.75rem)}.section-title--medium{font-size:clamp(2.4rem,4.6vw,4.25rem)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.section-lead{max-width:40rem;font-size:1.15rem}.sw{vertical-align:top;margin:-.18em -.06em -.12em 0;padding:.18em .06em .12em 0;display:inline-block;overflow:hidden}.swi{will-change:transform;display:inline-block}.js [data-reveal]{visibility:hidden}.no-motion [data-reveal]{visibility:visible!important}html.reveal-timeout [data-reveal],html.reveal-timeout .vh :is(.vh__eyebrow,.vh__lead,.vh__actions,.vh__foot){visibility:visible}html.reveal-timeout .vh__title .swi{transform:none}@keyframes reveal-rise{0%{transform:translateY(118%)rotate(5deg)}}@keyframes reveal-slide{0%{transform:translateY(40px)}}@keyframes reveal-fade{0%{opacity:0}}@keyframes reveal-clip{0%{clip-path:inset(100% 0% 0%)}}@keyframes reveal-zoom{0%{scale:1.2}}html.js:not(.no-motion) main>:first-child [data-reveal],html.js:not(.no-motion) [data-reveal-css]{visibility:visible}html.js:not(.no-motion) main>:first-child [data-reveal=words] .swi{animation:reveal-rise .8s var(--ease) backwards}html.js:not(.no-motion) main>:first-child [data-reveal=words] .sw:nth-child(2) .swi{animation-delay:25ms}html.js:not(.no-motion) main>:first-child [data-reveal=words] .sw:nth-child(3) .swi{animation-delay:50ms}html.js:not(.no-motion) main>:first-child [data-reveal=words] .sw:nth-child(4) .swi{animation-delay:75ms}html.js:not(.no-motion) main>:first-child [data-reveal=words] .sw:nth-child(5) .swi{animation-delay:.1s}html.js:not(.no-motion) main>:first-child [data-reveal=words] .sw:nth-child(n+6) .swi{animation-delay:.125s}html.js:not(.no-motion) main>:first-child [data-reveal=fade]{animation:.7s cubic-bezier(.215,.61,.355,1) backwards reveal-fade}html.js:not(.no-motion) main>:first-child [data-reveal=up]:not([data-stagger]),html.js:not(.no-motion) main>:first-child [data-reveal=up][data-stagger]>*{animation:.7s cubic-bezier(.215,.61,.355,1) .1s backwards reveal-slide}html.js:not(.no-motion) main>:first-child [data-reveal=up][data-stagger]>:nth-child(2){animation-delay:.17s}html.js:not(.no-motion) main>:first-child [data-reveal=up][data-stagger]>:nth-child(3){animation-delay:.24s}html.js:not(.no-motion) main>:first-child [data-reveal=up][data-stagger]>:nth-child(n+4){animation-delay:.31s}html.js:not(.no-motion) [data-reveal-css=clip]{animation:.85s cubic-bezier(.87,0,.13,1) backwards reveal-clip}html.js:not(.no-motion) [data-reveal-css=clip] img{animation:reveal-zoom 1.2s var(--ease) backwards}.no-motion .vh__caption-wrap{display:none}.call-band__phone,.contact__phone,.site-footer__phone,.mobile-menu__phone{letter-spacing:-.02em;font-variant-numeric:lining-nums;font-weight:300;font-stretch:108%;font-family:var(--font-body)!important}.link-line{letter-spacing:.04em;transition:background-size .6s var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;align-items:center;gap:.75rem;padding-bottom:.3rem;font-size:.9rem;font-weight:500;font-stretch:112%;text-decoration:none;display:inline-flex}.link-line:after{content:"→";content:"→" / "";color:var(--gold);transition:transform .5s var(--ease)}.link-line:hover{background-position:100% 100%;background-size:0% 1px}.link-line:hover:after{transform:translate(6px)}.link-line--light{color:var(--paper)}.btn{letter-spacing:.16em;text-transform:uppercase;cursor:pointer;min-height:3.4rem;transition:background-color .4s var(--ease), color .4s var(--ease), border-color .4s;border:1px solid #0000;border-radius:0;justify-content:center;align-items:center;padding:0 1.9rem;font-size:.8rem;font-weight:600;font-stretch:118%;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn__roll{line-height:1.3;display:block;overflow:hidden}.btn__t{transition:transform .6s var(--ease);display:block;position:relative}.btn__copy{position:absolute;top:100%;left:0}.btn:hover .btn__t{transform:translateY(-100%)}.btn--light{background:var(--paper);color:var(--navy)}.btn--light:hover{background:var(--gold-bright)}.btn--dark{background:var(--navy);color:var(--paper)}.btn--dark:hover{background:var(--navy-2)}.btn[disabled]{opacity:.6;cursor:progress}.photo{aspect-ratio:var(--ratio,4 / 3);background:var(--paper-2);position:relative;overflow:hidden}.photo__img{object-fit:cover}.photo--parallax .photo__img{height:118%!important;top:-9%!important}.photo__slot{text-align:center;opacity:.75;background:repeating-linear-gradient(-45deg,#0000 0 14px,#8080801f 14px 15px);border:1px dashed;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-size:.75rem;display:flex;position:absolute;inset:0}.photo__slot-label{letter-spacing:.12em;text-transform:uppercase;font-weight:600}.photo__slot code{word-break:break-all;font-size:.75rem}.section--dark .photo{background:#f4f2ed0d}.site-header{z-index:50;color:var(--paper);border-bottom:1px solid var(--line-dark);transition:background-color .5s var(--ease), border-color .5s;background:#080f28f7;position:fixed;inset:0 0 auto}html[data-over-hero] .site-header:not([data-open]){background:0 0;border-bottom-color:#0000}.site-header__bar{height:var(--header-h);align-items:center;gap:2.5rem;display:flex}.brand{color:var(--paper);flex-shrink:0;text-decoration:none;display:inline-flex}.brand__logo{width:auto;height:48px}.brand__type{flex-direction:column;align-items:stretch;line-height:1;display:inline-flex}.brand__grupo{font-family:var(--font-display);letter-spacing:.3em;text-transform:uppercase;margin-right:-.3em;font-size:1.4rem;font-weight:500}.brand__rule{background:var(--gold);height:1px;margin:.35rem 0 .3rem}.brand__mdn{letter-spacing:.7em;text-align:center;margin-right:-.7em;font-size:.6rem;font-weight:500;font-stretch:125%}.site-nav{margin-left:auto}.site-nav ul{gap:2.25rem;display:flex}.site-nav a{letter-spacing:.14em;text-transform:uppercase;padding-block:.5rem;font-size:.78rem;font-weight:500;font-stretch:118%;text-decoration:none;display:inline-block;position:relative}.site-nav a:after{content:"";background:var(--gold);transform-origin:100%;height:1px;transition:transform .6s var(--ease);position:absolute;bottom:.15rem;left:0;right:0;transform:scaleX(0)}.site-nav a:hover:after,.site-nav a[aria-current=page]:after{transform-origin:0;transform:scaleX(1)}.site-header__cta{min-height:2.9rem;padding:0 1.3rem}.site-header__cta--short{display:none}.menu-toggle{color:var(--paper);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;align-items:center;gap:.75rem;margin-left:auto;padding:.75rem 0;font-size:.75rem;font-weight:600;font-stretch:118%;display:none}.menu-toggle__icon{border-top:1px solid;border-bottom:1px solid;width:24px;height:9px;position:relative}.site-header[data-open] .menu-toggle__icon{border-color:#0000}.site-header[data-open] .menu-toggle__icon:before,.site-header[data-open] .menu-toggle__icon:after{content:"";background:currentColor;width:24px;height:1px;position:absolute;top:3px;left:0;transform:rotate(45deg)}.site-header[data-open] .menu-toggle__icon:after{transform:rotate(-45deg)}.mobile-menu{inset:var(--header-h) 0 0 0;background:var(--navy);color:var(--paper);padding-block:2rem 3rem;position:fixed;overflow-y:auto}.mobile-menu[hidden]{display:none}.mobile-menu__list li{border-bottom:1px solid var(--line-dark)}.mobile-menu__list a{font-family:var(--font-display);align-items:baseline;gap:1rem;padding-block:1.1rem;font-size:2.6rem;line-height:1;text-decoration:none;display:flex}.mobile-menu__list a[aria-current=page]{color:var(--gold);font-style:italic}.mobile-menu__index{font-family:var(--font-body);color:var(--gold);font-size:.75rem}.mobile-menu__foot{flex-direction:column;align-items:flex-start;gap:1.5rem;margin-top:2.5rem;display:flex}.mobile-menu__phone{font-family:var(--font-display);flex-direction:column;font-size:2rem;text-decoration:none;display:flex}.mobile-menu__note{font-family:var(--font-body);color:var(--grey-on-dark);font-size:.75rem}@media (max-width:959px){.site-nav{display:none}.menu-toggle{display:inline-flex}.site-header__cta{margin-left:auto}.site-header__cta+.menu-toggle{margin-left:0}}@media (max-width:560px){:root{--header-h:68px}.site-header__bar{gap:1rem}.site-header__cta{display:none}.site-header__cta.site-header__cta--short{letter-spacing:.06em;white-space:nowrap;flex-shrink:0;min-height:2.75rem;margin-left:auto;padding:0 .8rem;font-size:.75rem;font-stretch:100%;display:inline-flex}.menu-toggle{margin-left:0!important}}@media (max-width:400px){.site-header__bar{gap:.75rem}.menu-toggle{justify-content:center;min-width:2.75rem;min-height:2.75rem;padding:0}.menu-toggle__label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (max-width:359px){.brand__grupo{letter-spacing:.24em;margin-right:-.24em;font-size:1.2rem}.site-header__cta.site-header__cta--short{padding:0 .65rem}}.vh{background:var(--navy);color:var(--paper);position:relative}.vh__stage{perspective:1400px;perspective-origin:50% 35%;grid-template-rows:minmax(0,1fr) auto;min-height:100svh;display:grid;position:relative;overflow:hidden}.vh__back{visibility:hidden;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.vh__marquee{white-space:nowrap;font-family:var(--font-display);color:#0000;-webkit-text-stroke:1px #f4f2ed33;font-size:clamp(6rem,16vw,17rem);line-height:1;display:inline-flex}.vh__marquee>span{align-items:center;gap:.4em;padding-right:.4em;display:inline-flex}.vh__marquee em{-webkit-text-stroke:1px #d9be8573;color:#0000;font-style:italic}.vh__frame{background:var(--navy-2);transform-origin:50% 65%;will-change:transform;position:absolute;inset:0;overflow:hidden;box-shadow:0 60px 140px #0000008c}.vh__media,.vh__shade,.vh__media-shade{position:absolute;inset:0}.vh__media{overflow:hidden}.vh__ambient{filter:blur(22px)brightness(.95)saturate(1.2);width:116%;max-width:none;height:116%;position:absolute;inset:-8%}.vh__ambient-poster{filter:blur(22px)brightness(.95)saturate(1.2);background-position:50% 46%;background-size:cover;position:absolute;inset:-8%}.vh__media-shade{background:linear-gradient(#080f28d6 0%,#080f28bd 28%,#080f28b8 76%,#080f28e6 100%)}@media (max-width:767px){.vh__lead{color:#e6e7eb}.vh__lead,.vh__actions .link-line,.vh__scroll{text-shadow:0 1px 10px #080f288c}.vh__scroll{color:#cfd2da}}@media (max-width:899px){.vh__ambient,.vh__ambient-poster{display:none}}@media (min-width:900px){.vh{--panel-w:calc((100svh - var(--header-h) - 44px) * 9 / 16)}.vh__media{inset:auto;top:calc(var(--header-h) + 12px);aspect-ratio:9/16;outline-offset:10px;outline:1px solid #d9be8559;bottom:32px;right:max(48px,50vw - 612px);box-shadow:0 50px 120px #00000080}.vh__media-shade{display:none}.vh .vh__content{padding-right:calc(var(--panel-w) + 5rem)}.vh .vh__caption-wrap{justify-content:flex-start;bottom:18%}.vh .vh__closing{text-align:left;padding-left:max(48px,50vw - 612px);padding-right:calc(var(--panel-w) + 8rem)}}.vh__poster,.vh__canvas,.vh__video{object-fit:cover;object-position:50% 46%;width:100%;max-width:none;height:100%;position:absolute;inset:0}.vh__video{opacity:0;transition:opacity .4s}.vh--playing .vh__video{opacity:1}.vh__shade{background:linear-gradient(90deg,#080f28db 0%,#080f288c 48%,#080f282e 100%),linear-gradient(#080f2880 0%,#080f2800 25%)}.vh__frame-edge{pointer-events:none;visibility:hidden;opacity:0;border:1px solid #d9be8599;position:absolute;inset:14px}.vh__content{z-index:2;padding-top:var(--header-h);grid-row:1;align-self:center;position:relative}.vh__eyebrow{margin-bottom:1.75rem}.vh__title{letter-spacing:-.03em;perspective:900px;max-width:8.4em;font-size:clamp(3.4rem,6.2vw,7rem);line-height:.9}.vh__title .sw{transform-origin:50% 0}.vh__lead{color:#d3d6dd;max-width:30rem;margin-top:2rem;font-size:1.1rem}.vh__actions{flex-wrap:wrap;align-items:center;gap:1.25rem 2.25rem;margin-top:2.5rem;display:flex}.vh__caption-wrap{z-index:2;pointer-events:none;justify-content:flex-end;display:flex;position:absolute;inset:auto 0 15%}.vh__caption{border-left:1px solid var(--gold);pointer-events:auto;justify-items:start;gap:.5rem;padding-left:1.5rem;text-decoration:none;display:grid}.js .vh__caption{visibility:hidden}.vh__caption-name{font-size:clamp(2.5rem,4.6vw,4.25rem);line-height:.95}.vh__caption-place{letter-spacing:.24em;text-transform:uppercase;color:#d3d6dd;margin-bottom:.5rem;font-size:.75rem;font-stretch:125%}.vh__closing{z-index:3;text-align:center;pointer-events:none;font-size:clamp(1.9rem,4.2vw,3.75rem);line-height:1;position:absolute;inset:auto 0 6.5%}.js .vh__closing .swi{transform:translateY(120%)}.vh__foot{z-index:2;grid-row:2;align-items:center;gap:1.25rem;padding-bottom:clamp(1.25rem,3.5vh,2.25rem);display:flex;position:relative}.vh__scroll{letter-spacing:.26em;text-transform:uppercase;color:var(--grey-on-dark);font-size:.75rem;font-stretch:125%}.vh__caption-work{color:var(--paper);font-size:.95rem}.vh__foot{flex-wrap:wrap}.vh__video-note{color:#d3d6dd;text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-underline-offset:.25em;font-size:.85rem}.vh__video-note:hover{color:var(--paper)}@media (max-width:767px){.vh__video-note{flex-basis:100%}}.vh__progress{background:#f4f2ed40;width:9rem;height:1px}.vh__progress i{background:var(--gold);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.js .vh :is(.vh__eyebrow,.vh__lead,.vh__actions,.vh__foot){visibility:hidden}.js .vh__title .swi{transform:translateY(120%)}.no-motion .vh :is(.vh__eyebrow,.vh__lead,.vh__actions,.vh__foot,.vh__caption){visibility:visible}.no-motion .vh__title .swi{transform:none}.no-motion .vh__closing{display:none}@media (max-width:767px){.vh__content{padding-top:calc(var(--header-h) + 1.5rem);align-self:start}.vh__title{font-size:clamp(min(3rem,15vw),13.5vw,4.25rem)}.vh__lead{margin-top:1.25rem;font-size:1rem}.vh__actions{margin-top:1.75rem}.vh__caption-wrap{bottom:13%}.vh__closing{padding-inline:20px;bottom:9%}}.vh--video :is(.vh__back,.vh__caption-wrap,.vh__closing,.vh__progress){display:none}@media (max-width:767px){.vh--mobile-video :is(.vh__back,.vh__caption-wrap,.vh__closing,.vh__progress){display:none}}@media (min-width:768px){html.js:not(.no-motion) .vh:after{content:"";height:150vh;display:block}html.js:not(.no-motion) .vh__stage{position:sticky;top:0}}@media (max-width:767px){html.js:not(.no-motion) .vh:not(.vh--mobile-video):after{content:"";height:130vh;display:block}html.js:not(.no-motion) .vh:not(.vh--mobile-video) .vh__stage{position:sticky;top:0}}@keyframes vh-settle{0%{transform:scale(1.12)}}@keyframes vh-rise{0%{transform:translateY(120%)rotate(6deg)}}@keyframes vh-fade-up{0%{opacity:0;transform:translateY(24px)}}@keyframes vh-slide-up{0%{transform:translateY(24px)}}html.js:not(.no-motion) .vh__frame{animation:vh-settle 1.4s var(--ease) backwards}html.js:not(.no-motion) .vh__title .swi{animation:vh-rise .9s var(--ease) .15s backwards;transform:none}html.js:not(.no-motion) .vh__title .sw:nth-child(2) .swi{animation-delay:.19s}html.js:not(.no-motion) .vh__title .sw:nth-child(3) .swi{animation-delay:.23s}html.js:not(.no-motion) .vh__title .sw:nth-child(4) .swi{animation-delay:.27s}html.js:not(.no-motion) .vh__title .sw:nth-child(5) .swi{animation-delay:.31s}html.js:not(.no-motion) .vh__title .sw:nth-child(n+6) .swi{animation-delay:.35s}html.js:not(.no-motion) .vh :is(.vh__eyebrow,.vh__actions,.vh__foot){visibility:visible;animation:vh-fade-up .7s var(--ease) .4s backwards}html.js:not(.no-motion) .vh__lead{visibility:visible;animation:vh-slide-up .7s var(--ease) .47s backwards}html.js:not(.no-motion) .vh__actions{animation-delay:.54s}html.js:not(.no-motion) .vh__foot{animation-delay:.61s}@media (max-height:720px) and (min-width:768px){.vh__lead{display:none}}.section{padding-block:clamp(4rem,8vw,7rem)}.section--tight{padding-block:clamp(3rem,6vw,4.5rem)}.section--light{background:var(--paper)}.section--paper{background:var(--paper-2)}.section--dark{background:var(--navy);color:var(--paper)}.section-head{gap:1.5rem;margin-bottom:clamp(2.25rem,4.5vw,4rem);display:grid}.section-head--row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem 3rem;display:flex}.section-head--row>div{gap:1.5rem;display:grid}.statement{background:var(--paper);padding-block:clamp(4.5rem,9vw,8rem) clamp(3rem,6vw,5rem)}.statement__grid{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));row-gap:2.5rem;display:grid}.statement__grid>.label{grid-column:1/4;padding-top:1.2rem}.statement__text{text-wrap:balance;grid-column:4/13;font-size:clamp(2.2rem,4.6vw,4.6rem);line-height:1.06}.statement__side{color:var(--grey-text);grid-column:8/13;justify-items:start;gap:1.5rem;display:grid}.statement__side em{color:var(--navy)}.statement__credentials{margin-top:clamp(3rem,6vw,4.5rem)}.credentials{gap:1.75rem var(--gutter);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.credentials__item{border-top:1px solid var(--gold);align-content:start;gap:.5rem;padding-top:1rem;display:grid}.credentials__title{font-family:var(--font-display);font-size:clamp(1.3rem,1.8vw,1.6rem);font-weight:400;line-height:1.1}.credentials__item p{color:var(--grey-text);font-size:.95rem}@media (max-width:1099px){.credentials{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.credentials{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:899px){.statement__grid>.label,.statement__text,.statement__side{grid-column:1/-1}.statement__grid>.label{padding-top:0}}.service-group+.service-group{margin-top:clamp(3.5rem,7vw,6rem)}.service-group__title{letter-spacing:.24em;text-transform:uppercase;color:var(--grey-text);border-bottom:1px solid var(--navy);padding-bottom:1.1rem;font-size:.75rem;font-weight:500;font-stretch:125%}.service-row{border-bottom:1px solid var(--line-light);grid-template-columns:4.5rem minmax(0,1fr) 240px 2.5rem;align-items:center;gap:1.5rem 2rem;padding-block:2rem;display:grid;position:relative}.service-row__index{font-family:var(--font-display);color:var(--gold-text);align-self:start;padding-top:.9rem;font-size:1.1rem;font-style:italic}.service-row__title{transition:transform .7s var(--ease), color .5s;font-size:clamp(2rem,3.8vw,3.5rem);line-height:1}.service-row__title a{text-decoration:none}.service-row__title,.service-block__title,.methods__title,.credentials__title{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere}@media (max-width:400px){.service-row .service-row__title{font-size:1.65rem}.service-block .service-block__title{font-size:2.2rem}}.service-row__title a:after{content:"";position:absolute;inset:0}.service-row__text p{max-width:34rem;color:var(--grey-text);margin-top:.7rem}.service-row__photo{filter:grayscale()contrast(1.05);transition:filter .7s var(--ease)}.service-row__photo .photo__img{transition:transform 1.1s var(--ease)}.service-row__arrow{color:var(--gold-text);transition:transform .6s var(--ease);justify-self:end;font-size:1.4rem}.service-row:hover .service-row__title{color:var(--gold-text);transform:translate(14px)}.service-row:hover .service-row__photo{filter:none}.service-row:hover .service-row__photo .photo__img{transform:scale(1.08)}.service-row:hover .service-row__arrow{transform:translate(6px)}.service-row:not(:has(.photo)){grid-template-columns:4.5rem minmax(0,1fr) 2.5rem}@media (max-width:767px){.service-row{grid-template-columns:2.5rem minmax(0,1fr) 84px;gap:1rem;padding-block:1.5rem}.service-row:not(:has(.photo)){grid-template-columns:2.5rem minmax(0,1fr)}.service-row__arrow{display:none}.service-row__photo{filter:none;--ratio:1 / 1!important}.service-row__photo .photo__slot{font-size:0}.service-row__photo .photo__slot code{display:none}}.marquee{background:var(--paper);border-block:1px solid var(--line-light);padding-block:clamp(2.5rem,6vw,5rem);overflow:hidden}.marquee--dark{background:var(--navy);color:var(--paper);border-color:var(--line-dark)}.marquee__track{white-space:nowrap;will-change:transform;display:inline-flex}.marquee__item{align-items:center;gap:.45em;padding-right:.45em;font-size:clamp(3.75rem,11vw,10.5rem);line-height:1.05;display:inline-flex}.marquee__dot{background:var(--gold);width:.12em;height:.12em;display:inline-block;transform:rotate(45deg)}.featured{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));row-gap:4rem;display:grid}.featured__item:nth-child(odd){grid-column:1/8}.featured__item:nth-child(2n){grid-column:8/13;margin-top:clamp(3rem,8vw,7rem)}.featured--single .featured__item:nth-child(odd){grid-column:1/7}.featured .featured__aside{border-left:1px solid var(--gold);grid-column:8/13;align-self:end;margin-top:0;padding-left:1.75rem;font-size:1.15rem}.featured:not(.featured--single) .featured__aside{border-left:0;grid-column:1/-1;padding-left:0}.featured__link{text-decoration:none;display:block}.featured__caption,.project-card__caption{border-top:1px solid;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.5rem;margin-top:1.5rem;padding-top:1.5rem;display:flex}.featured__name,.project-card__name{font-size:clamp(2.25rem,4.5vw,4.25rem);line-height:1}.featured__place,.project-card__place{letter-spacing:.24em;text-transform:uppercase;color:var(--grey-on-dark);font-size:.75rem;font-stretch:125%}.featured__cta{letter-spacing:.2em;text-transform:uppercase;margin-left:auto;font-size:.75rem;font-weight:600;font-stretch:125%}.featured__cta:after{content:"  →";content:"  →" / "";color:var(--gold)}.featured__link .photo__img,.project-card__link .photo__img{transition:scale 1.2s var(--ease)}.featured__link:hover .photo__img,.project-card__link:hover .photo__img{scale:1.04}.featured__aside{max-width:34rem;color:var(--grey-on-dark);margin-top:clamp(3rem,6vw,5rem)}.featured__aside a{color:var(--paper)}@media (max-width:767px){.featured__item:nth-child(odd),.featured__item:nth-child(2n),.featured--single .featured__item:nth-child(odd),.featured .featured__aside{grid-column:1/-1;margin-top:0}.featured__cta{width:100%;margin-left:0}}.about-split{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;row-gap:3rem;display:grid}.about-split__photo{grid-column:1/6}.about-split__text{grid-column:7/13;justify-items:start;gap:1.75rem;display:grid}.about-split__body{justify-items:start;gap:1.75rem;display:grid}.about-split__body p{max-width:30rem;color:var(--grey-text);font-size:1.1rem}.about-split:not([data-has-photo]) .about-split__text{grid-column:1/10}@media (max-width:899px){.about-split__photo,.about-split__text,.about-split:not([data-has-photo]) .about-split__text{grid-column:1/-1}.about-split__photo{--ratio:4 / 3!important}}.steps{gap:3rem var(--gutter);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.steps__item{border-top:1px solid var(--navy);align-content:start;gap:1rem;padding-top:1.75rem;display:grid}.steps__n{font-family:var(--font-display);color:var(--gold-text);font-size:clamp(3.5rem,6vw,5.5rem);font-style:italic;line-height:.9}.steps__title{font-size:clamp(1.6rem,2.3vw,2.1rem);line-height:1.1}.steps__item p{max-width:22rem;color:var(--grey-text)}.steps__cta{flex-wrap:wrap;align-items:center;gap:1rem 2rem;margin-top:clamp(2.5rem,5vw,3.5rem);display:flex}.steps__cta a[href^=tel\:]{font-weight:600}.steps__note{color:var(--grey-text);font-size:.85rem}@media (max-width:767px){.steps{grid-template-columns:1fr;gap:2rem}.steps__n{font-size:2.75rem}}.call-band{background:var(--navy);color:var(--paper);padding-block:clamp(4.5rem,9vw,8rem)}.call-band__inner{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;row-gap:3.5rem;display:grid}.call-band__title{text-wrap:balance;grid-column:1/9;font-size:clamp(3.25rem,8.4vw,8.5rem);line-height:.92}.call-band__actions{border-left:1px solid var(--gold);grid-column:9/13;justify-items:start;gap:.6rem;padding-left:1.75rem;display:grid}.call-band__phone{font-family:var(--font-display);font-size:clamp(2.5rem,3.8vw,3.4rem);line-height:1;text-decoration:none;transition:color .4s}.call-band__phone:hover{color:var(--gold-bright)}.call-band__note{color:var(--grey-on-dark);margin-bottom:1.25rem;font-size:.75rem}@media (max-width:899px){.call-band__title,.call-band__actions{grid-column:1/-1}}.page-intro,.project-head{background:var(--navy);color:var(--paper);padding-block:clamp(3.5rem,8vw,7rem) clamp(3rem,6vw,5rem)}.page-intro__grid{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));row-gap:2rem;display:grid}.page-intro__grid>.label{grid-column:1/-1}.page-intro__title{letter-spacing:-.03em;text-wrap:balance;grid-column:1/12;font-size:clamp(3.5rem,9.5vw,9.5rem);line-height:.9}.page-intro__lead{max-width:36rem;color:var(--grey-on-dark);grid-column:6/12;font-size:1.1rem}.page-intro__lead a{color:var(--paper)}.page-intro__grid>.photo{grid-column:1/-1;margin-top:2rem}.hero-static__actions{margin-top:2rem}@media (max-width:899px){.page-intro__title,.page-intro__lead{grid-column:1/-1}}.service-block{background:var(--paper);scroll-margin-top:var(--header-h);padding-block:clamp(3.5rem,7vw,6rem)}.service-block--flip{background:var(--paper-2)}.service-block__group{border-bottom:1px solid var(--navy);margin-bottom:clamp(2.5rem,5vw,4rem);padding-bottom:1.1rem}.service-block__grid{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;row-gap:2.5rem;display:grid}.service-block__text{grid-area:1/1/auto/6;justify-items:start;gap:1.25rem;display:grid}.service-block__photo{grid-area:1/7/auto/13}.service-block--flip .service-block__text{grid-column:8/13}.service-block--flip .service-block__photo{grid-column:1/7}.service-block__grid:not(:has(.photo)) .service-block__text{grid-column:1/9}.service-block__index{font-family:var(--font-display);color:var(--gold-text);font-size:1.3rem;font-style:italic}.service-block__title{text-wrap:balance;font-size:clamp(2.75rem,5.2vw,5rem);line-height:.95}.service-block__text p{max-width:32rem;color:var(--grey-text)}.service-block__text .link-line{margin-top:1rem}.service-block__project{font-size:.95rem}.service-block__project a{color:var(--navy);-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold)}@media (max-width:899px){.service-block__text,.service-block__photo,.service-block--flip .service-block__text,.service-block--flip .service-block__photo{grid-area:auto/1/auto/-1}.service-block__grid:not(:has(.photo)) .service-block__text{grid-area:auto/1/auto/-1}.service-block__photo{order:-1;--ratio:4 / 3!important}}.project-list{gap:4rem var(--gutter);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-list--single{grid-template-columns:minmax(0,720px)}.project-cover .photo{width:min(100%,720px)}.project-card--offset{margin-top:clamp(3rem,7vw,6rem)}.project-card__link{text-decoration:none;display:block}.project-card__index{font-family:var(--font-display);color:var(--gold-text);font-style:italic}@media (max-width:767px){.project-list{grid-template-columns:1fr}.project-card--offset{margin-top:0}}.crumbs{letter-spacing:.2em;text-transform:uppercase;color:var(--grey-on-dark);gap:.75rem;font-size:.75rem;font-stretch:125%;display:flex}.crumbs a{color:var(--paper)}.project-head{padding-bottom:clamp(5rem,10vw,9rem)}.project-head__grid{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;row-gap:2rem;margin-top:2.5rem;display:grid}.project-head__title{letter-spacing:-.03em;grid-column:1/10;font-size:clamp(3.5rem,9.5vw,9rem);line-height:.9}.facts{grid-column:10/13;gap:1rem;display:grid}.facts>div{border-top:1px solid var(--line-dark);padding-top:.8rem}.facts dt{letter-spacing:.24em;text-transform:uppercase;color:var(--grey-on-dark);font-size:.75rem;font-stretch:125%}.facts dd{font-family:var(--font-display);font-size:1.5rem}.facts :is(dt,dd){overflow-wrap:anywhere}.project-cover{background:linear-gradient(var(--navy) 0 clamp(4rem, 10vw, 8rem), var(--paper) 0);margin-top:calc(-1*clamp(4rem,10vw,8rem))}.project-cover--wide .photo{width:min(100%,1100px)}@media (max-width:767px){.project-head__title,.facts{grid-column:1/-1}.project-cover:not(.project-cover--wide) .photo{--ratio:4 / 5!important}}.project-details{gap:2rem var(--gutter);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));display:grid}.project-details__item{border-top:1px solid var(--navy);padding-top:1rem}.project-details dt{letter-spacing:.2em;text-transform:uppercase;color:var(--grey-text);margin-bottom:.6rem;font-size:.75rem;font-weight:500;font-stretch:125%}.project-details dd{max-width:32rem;font-size:1.1rem}.project-description{max-width:44rem;font-size:1.25rem}.prose-narrow{max-width:1320px}.before-after{gap:var(--gutter);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.before-after__label{letter-spacing:.24em;text-transform:uppercase;color:var(--grey-text);margin-bottom:.75rem;font-size:.75rem;font-stretch:125%}.gallery{gap:var(--gutter);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.gallery:not(.gallery--pair) .gallery__item:nth-child(3n+1){grid-column:1/-1}.gallery__caption{color:var(--grey-text);margin-top:.6rem;font-size:.9rem}@media (max-width:767px){.before-after,.gallery{grid-template-columns:1fr}}.next-project{background:var(--graphite);color:var(--paper)}.next-project__link{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;padding-block:clamp(3rem,6vw,5rem);text-decoration:none;display:flex}.next-project__label{letter-spacing:.24em;text-transform:uppercase;color:var(--grey-on-dark);font-size:.75rem;font-stretch:125%}.next-project__name{font-family:var(--font-display);font-size:clamp(2.5rem,5.5vw,4.75rem);line-height:1;transition:color .4s}.next-project__name:after{content:" →";content:" →" / "";color:var(--gold)}.next-project__link:hover .next-project__name{color:var(--gold-bright);font-style:italic}.about-page{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));row-gap:3.5rem;display:grid}.about-page__text{grid-column:1/6;align-content:start;gap:1.75rem;display:grid}.about-page__lead{font-size:clamp(2rem,3.4vw,3.1rem);line-height:1.08}.about-page__body{color:var(--grey-text);gap:1.25rem;display:grid}.about-page__subtitle{margin-top:1.5rem}.plain-list li{border-bottom:1px solid var(--line-light)}.plain-list a{font-family:var(--font-display);transition:transform .6s var(--ease), color .4s;padding-block:.8rem;font-size:1.6rem;text-decoration:none;display:block}.plain-list a:hover{color:var(--gold-text);font-style:italic;transform:translate(10px)}.about-page__media{gap:var(--gutter);grid-column:7/13;display:grid}.about-page__second{z-index:1;width:72%;box-shadow:0 0 0 10px var(--paper);justify-self:end;margin-top:-18%;position:relative}.about-page:not(:has(.photo)) .about-page__text{grid-column:1/9}@media (max-width:899px){.about-page__text,.about-page__media{grid-column:1/-1}.about-page:not(:has(.photo)) .about-page__text{grid-column:1/-1}.about-page__second{width:80%}}.training{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;row-gap:3rem;display:grid}.training__photo{grid-column:1/5;max-width:440px}.training__text{grid-column:6/13;justify-items:start;gap:1.75rem;display:grid}.training__body{max-width:34rem;color:var(--grey-on-dark);justify-items:start;gap:1.25rem;display:grid}@media (max-width:899px){.training__photo,.training__text{grid-column:1/-1}}.methods{gap:2rem var(--gutter);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));display:grid}.methods__item{border-top:1px solid var(--navy);align-content:start;gap:.75rem;padding-top:1.25rem;display:grid}.methods__title{font-family:var(--font-display);font-size:clamp(1.5rem,2.2vw,1.9rem);font-weight:400;line-height:1.1}.methods__item p,.section-aside{max-width:24rem;color:var(--grey-text)}.mini-projects{gap:2.5rem var(--gutter);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.mini-projects__link{gap:.35rem;text-decoration:none;display:grid}.mini-projects__link .photo{margin-bottom:.9rem}.mini-projects__link .photo__img{transition:scale 1.2s var(--ease)}.mini-projects__link:hover .photo__img{scale:1.04}.mini-projects__name{font-family:var(--font-display);font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.1}.mini-projects__link:hover .mini-projects__name{color:var(--gold-text)}.mini-projects__meta{letter-spacing:.18em;text-transform:uppercase;color:var(--grey-text);font-size:.78rem;font-stretch:125%}@media (max-width:767px){.methods,.mini-projects{grid-template-columns:1fr}}.contact{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));row-gap:4rem;display:grid}.contact__direct{grid-column:1/5;align-content:start;justify-items:start;display:grid}.contact__label{border-top:1px solid var(--navy);letter-spacing:.24em;text-transform:uppercase;width:100%;color:var(--grey-text);margin-top:2.5rem;padding-top:1rem;font-size:.75rem;font-weight:500;font-stretch:125%}.contact__label:first-child{margin-top:0}.contact__phone{font-family:var(--font-display);margin-top:.75rem;font-size:clamp(2.75rem,4.6vw,4rem);line-height:1;text-decoration:none}.contact__phone:hover{color:var(--gold-text);font-style:italic}.contact__link{font-family:var(--font-display);text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);margin-top:.6rem;font-size:1.9rem}.contact__area{font-family:var(--font-display);margin-top:.6rem;font-size:1.6rem;line-height:1.15}.contact__note{color:var(--grey-text);margin-top:.35rem;font-size:.85rem}.contact__form{border-left:1px solid var(--line-light);scroll-margin-top:calc(var(--header-h) + 16px);grid-column:6/13;padding-left:clamp(0rem,3vw,3rem)}.contact__form:focus{outline:none}.contact__form-title{margin-bottom:2rem;font-size:clamp(2.25rem,3.8vw,3.25rem);line-height:1}@media (max-width:899px){.contact__direct,.contact__form{grid-column:1/-1}.contact__form{border-left:0;border-top:1px solid var(--navy);padding-top:3rem;padding-left:0}}.form{gap:1.75rem;display:grid}.form__row{gap:.35rem;min-width:0;display:grid}.form__pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem;display:grid}.form label,.form legend{letter-spacing:.2em;text-transform:uppercase;color:var(--grey-text);font-size:.75rem;font-weight:500;font-stretch:125%}.form__group{border:0;min-width:0;margin:0;padding:0}.form__group legend{padding:0}.form__hint{color:var(--grey-text);font-size:.85rem}.form__group>.form__hint{margin:.2rem 0 .8rem}.form input,.form select,.form textarea{width:100%;min-height:3rem;color:var(--navy);background:0 0;border:0;border-bottom:1px solid #080f2873;border-radius:0;padding:.6rem 0;font-size:1.05rem;transition:border-color .3s}.form textarea{resize:vertical;min-height:8rem}.form select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--navy) 50%), linear-gradient(135deg, var(--navy) 50%, transparent 50%);background-position:calc(100% - 10px) 55%,calc(100% - 5px) 55%;background-repeat:no-repeat;background-size:5px 5px;padding-right:2rem}.form input:focus-visible,.form select:focus-visible,.form textarea:focus-visible{border-bottom-color:var(--navy);outline:2px solid var(--navy);outline-offset:4px}.form [aria-invalid=true]{border-bottom:2px solid var(--error)}.form__error{color:var(--error);font-size:.875rem;font-weight:600}.form__error:before{content:"! ";content:"! " / ""}.form__trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form__submit{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.5rem;display:flex}.form__status{color:var(--grey-text);font-size:.9rem}.form__alert,.form-success,.form-off{border-left:2px solid var(--error);background:#f6e7e3;gap:.5rem;padding:1.25rem 1.4rem;display:grid}.form-success{border-left-color:var(--navy);background:var(--paper-2)}.form-success__title{font-family:var(--font-display);font-size:2rem;font-weight:400}.form-success__title:focus{outline:none}.form-off{border-left-color:var(--gold);background:var(--paper-2)}.form__privacy{color:var(--grey-text);max-width:36rem;margin-top:1.75rem;font-size:.85rem}.dev-note{background:#fff6dc;border:1px dashed #9a7a1d;margin-bottom:1.5rem;padding:.75rem 1rem;font-family:ui-monospace,monospace;font-size:.8rem}.form__req{letter-spacing:.08em;text-transform:none;color:var(--gold-text);margin-left:.5em;font-size:.85em;font-weight:600}.form__req--opt{color:var(--grey-text);font-weight:400}.form__label{letter-spacing:.2em;text-transform:uppercase;color:var(--grey-text);font-size:.75rem;font-weight:500;font-stretch:125%}.form__hint a{color:var(--navy)}.form__files{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-top:.5rem;display:flex}.form__file-btn{border:1px solid var(--navy);min-height:3rem;color:var(--navy);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;padding:0 1.25rem;font-size:.8rem;font-weight:600;font-stretch:112%;transition:background-color .3s,color .3s}.form__file-btn:hover:not(:disabled){background:var(--navy);color:var(--paper)}.form__file-btn:disabled{opacity:.5;cursor:not-allowed}.form__file-count{color:var(--grey-text);font-size:.9rem}.form__thumbs{flex-wrap:wrap;gap:.75rem;margin-top:.75rem;display:flex}.form__thumbs li{gap:.25rem;width:6.5rem;display:grid}.form__thumbs img{aspect-ratio:1;object-fit:cover;background:var(--paper-2);width:100%}.form__thumbs button{min-height:2.75rem;text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;padding:0;font-size:.85rem}@media (max-width:640px){.form{gap:1.25rem}.form__pair{grid-template-columns:1fr;gap:1.25rem}.form__group>.form__hint{margin-bottom:.4rem}.form textarea{min-height:7rem}.form__thumbs li{width:calc(33.3333% - .5rem)}}.legal{max-width:calc(46rem + 96px)}.legal h2{margin-top:2.75rem;margin-bottom:.75rem;font-size:1.9rem;line-height:1.1}.legal p+p{margin-top:.9rem}.legal__updated{color:var(--grey-text);font-size:.9rem}.pending{color:var(--navy);background:#ffe9a8;padding:0 .25em;font-weight:600}.not-found{background:var(--navy);color:var(--paper);padding-block:clamp(5rem,11vw,10rem)}.not-found__grid{gap:2rem var(--gutter);grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;display:grid}.not-found__code{font-family:var(--font-display);color:#0000;-webkit-text-stroke:1px #d9be8599;font-size:clamp(7rem,22vw,18rem);font-style:italic;line-height:.8}.not-found__title{margin-bottom:1rem;font-size:clamp(2.5rem,5vw,4.25rem);line-height:.98}.not-found p{color:var(--grey-on-dark)}.not-found__links{justify-items:start;gap:1rem;margin-top:2rem;display:grid}@media (max-width:767px){.not-found__grid{grid-template-columns:1fr}}.site-footer{background:var(--navy-deep);color:var(--paper);padding-block:clamp(4.5rem,9vw,7rem) 2rem;overflow:hidden}.site-footer__grid{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));row-gap:3rem;display:grid}.site-footer__intro{grid-column:1/7;align-content:start;gap:1.25rem;display:grid}.site-footer__area{max-width:24rem;color:var(--grey-on-dark);font-size:.95rem}.site-footer__tagline{font-size:clamp(2rem,3.6vw,3.4rem);line-height:1.02}.site-footer__col{grid-column:span 3}.site-footer__col:first-of-type{grid-column:7/10}.site-footer__col .label{margin-bottom:1.25rem}.site-footer__col li+li{margin-top:.55rem}.site-footer__col a{text-decoration:none;transition:color .3s}.site-footer__col a:hover{color:var(--gold-bright)}.site-footer__phone{font-family:var(--font-display);font-size:1.5rem}.site-footer__note{color:var(--grey-on-dark);font-size:.75rem;display:block}.site-footer__wordmark{letter-spacing:-.04em;white-space:nowrap;color:var(--paper);margin-top:clamp(4rem,9vw,7rem);font-size:min(15vw,13.5rem);line-height:.85;text-decoration:none;display:block}.site-footer__wordmark em{font-style:normal}.site-footer__wordmark img{width:auto;height:min(15vw,13rem)}.site-footer__base{border-top:1px solid var(--line-dark);color:var(--grey-on-dark);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;font-size:.8rem;display:flex}@media (max-width:899px){.site-footer__intro{grid-column:1/-1}.site-footer__col,.site-footer__col:first-of-type{grid-column:span 6}}.bio{--bio-bg:#071423;--bio-text:#f1efe9;--bio-soft:#d3d8e0;--bio-muted:#b3bbc7;--bio-silver:#8b94a2;--bio-line:#c4cdda2e;--bio-gold:#c9aa6c;--bio-gold-dark:#8f7543;--bio-gold-light:#e2c991;--bio-ink:#0a1628;--focus:#e6cb92;--rope-x:26px;--indent:56px;--node:calc(var(--rope-x) - var(--indent));--logo-w:min(190px, 52vw);background:var(--bio-bg);min-height:100svh;color:var(--bio-text)}:root:has(.bio) body{background:#071423}.bio__col{max-width:480px;padding:0 20px 2rem var(--indent);margin-inline:auto;position:relative}.bio__rope{z-index:2;top:0;bottom:calc(3.25rem + 48px);left:calc(var(--rope-x) - 1.5px);background:repeating-linear-gradient(-60deg, var(--bio-gold) 0 3px, var(--bio-gold-dark) 3px 5px);transform-origin:top;width:3px;position:absolute}.bio__anchor{position:relative}.bio__anchor:before,.bio__anchor:after{content:"";top:var(--node-y,50%);position:absolute}.bio__anchor:before{z-index:3;left:calc(var(--node) - 6px);border:1.5px solid var(--bio-gold);background:var(--bio-bg);border-radius:50%;width:12px;height:12px;margin-top:-6px}.bio__anchor:after{left:calc(var(--node) + 6px);width:calc(-1 * var(--node) - 6px - var(--gap,6px));background:var(--bio-gold);opacity:.55;height:1px}.bio__hero{position:relative}.bio__photo{height:clamp(210px,34svh,330px);margin:0 -20px 0 calc(-1 * var(--indent));background:#0e2338;position:relative;overflow:hidden}.bio__photo img{object-fit:cover;object-position:50% 22%}.bio__photo:after{content:"";background:linear-gradient(to right, #0714238c, #07142300 60%), linear-gradient(to bottom, #0714234d 0%, #07142300 25%, #071423b3 62%, var(--bio-bg) 100%);position:absolute;inset:0}.bio__id{z-index:1;margin-top:calc(-.6 * var(--logo-w) - 1rem);position:relative}.bio__name{font-family:var(--font-display);font-size:clamp(3rem,15vw,4.25rem);font-weight:400;line-height:.9}.bio__name:has(img){line-height:0}.bio__logo{width:var(--logo-w);height:auto}.bio__tagline{font-family:var(--font-display);letter-spacing:-.015em;margin-top:1rem;font-size:clamp(1.5rem,6.6vw,2rem);font-weight:400;line-height:1.08}.bio__tagline em{color:var(--bio-gold);font-style:italic;font-weight:400}.bio__desc{max-width:22rem;color:var(--bio-soft);margin-top:.6rem;font-size:1rem;line-height:1.45}.bio__area{color:var(--bio-muted);align-items:center;gap:8px;margin-top:.3rem;font-size:.875rem;display:flex}.bio__area:before{content:"";background:var(--bio-gold);flex:none;width:14px;height:1px}.bio__anchor--main{--node-y:40px;margin-top:1.5rem}.bio__anchor--main:before{border-color:var(--bio-gold-light);background:var(--bio-gold)}.bio__anchor--main:after{--gap:0px;opacity:1}.bio-cta{background:var(--bio-gold);min-height:80px;color:var(--bio-ink);transition:background-color .25s var(--ease);row-gap:.3rem;padding:14px 18px;text-decoration:none;display:grid}.bio-cta:hover{background:var(--bio-gold-light)}.bio-cta__meta{letter-spacing:.01em;flex-wrap:wrap;align-items:center;gap:2px 8px;font-size:.8125rem;font-weight:600;display:flex}.bio-cta__meta svg{flex:none}.bio-cta__number{white-space:nowrap;color:#0a1628d1;font-weight:500}.bio-cta__number:before{content:"·";margin-right:8px}.bio-cta__label{font-family:var(--font-display);letter-spacing:-.01em;justify-content:space-between;align-items:center;gap:12px;font-size:2rem;font-weight:500;line-height:1.05;display:flex}.bio-cta__label svg{width:22px;height:22px;transition:transform .3s var(--ease);flex:none}.bio-cta:hover .bio-cta__label svg{transform:translate(4px)}.bio__note{color:var(--bio-soft);margin-top:.55rem;font-size:.9375rem}.bio__links{margin-top:1.5rem}.bio__links li{border-bottom:1px solid var(--bio-line)}.bio__links li:first-child{border-top:1px solid var(--bio-line)}.bio-link{grid-template-columns:2.25rem minmax(0,1fr) auto;align-items:center;min-height:60px;padding:.7rem 0;text-decoration:none;display:grid}.bio-link__n{font-family:var(--font-display);color:var(--bio-silver);font-size:1rem;font-style:italic}.bio-link__label{transition:transform .3s var(--ease), color .3s;font-size:1rem;font-weight:500;line-height:1.3}.bio-link__detail{color:var(--bio-muted);overflow-wrap:anywhere;margin-top:.15rem;font-size:.875rem;font-weight:400;display:block}.bio-link svg{color:var(--bio-silver);transition:transform .3s var(--ease), color .3s}.bio-link:hover .bio-link__label{color:var(--bio-gold-light);transform:translate(4px)}.bio-link:hover svg{color:var(--bio-gold);transform:translate(3px)}.bio__works{margin-top:2.5rem}.bio__label{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--bio-muted);margin-bottom:1rem;font-size:.6875rem;font-weight:600;font-stretch:125%}.bio-works{grid-template-columns:minmax(0,1fr);gap:1.25rem;display:grid}.bio-works>li:before,.bio-works>li:after{display:none}.bio-work{align-content:start;gap:.15rem;text-decoration:none;display:grid}.bio-work__img{aspect-ratio:4/3;background:#0e2338;margin-bottom:.6rem;display:block;position:relative;overflow:hidden}@media (min-width:380px) and (max-width:767px){.bio-works{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 12px}.bio-work__img{aspect-ratio:4/5}.bio-works[data-count="1"]>li,.bio-works[data-count="3"]>li:first-child{grid-column:1/-1}.bio-works[data-count="1"] .bio-work__img,.bio-works[data-count="3"]>li:first-child .bio-work__img{aspect-ratio:3/2}}@media (min-width:768px){.bio-works{grid-template-columns:minmax(0,1fr);gap:1.5rem}.bio-works>li{--node-y:18px}.bio-works>li:before,.bio-works>li:after{display:block}.bio-works>li:first-child .bio-work__img{aspect-ratio:3/2}.bio-works>li:nth-child(n+2) .bio-work__img{aspect-ratio:4/5}.bio-works>li:nth-child(2) .bio-work{width:70%;margin-left:auto}.bio-works>li:nth-child(2):after{width:calc(-1 * var(--node) - 12px + 30%)}.bio-works>li:nth-child(3) .bio-work{width:70%}}.bio-work__img img{object-fit:cover;transition:transform .9s var(--ease)}.bio-work:hover .bio-work__img img{transform:scale(1.04)}.bio-work__name{font-family:var(--font-display);color:var(--bio-text);font-size:1.3125rem;line-height:1.15}.bio-work__service{color:var(--bio-soft);font-size:.875rem;line-height:1.4}.bio__foot{border-top:1px solid var(--bio-line);box-sizing:content-box;min-height:48px;color:var(--bio-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 1rem;margin-top:2.5rem;padding-top:1.25rem;font-size:.875rem;display:flex;position:relative}.bio__foot:before{content:"";top:-6px;left:calc(var(--node) - 5.5px);background:var(--bio-gold);width:11px;height:11px;position:absolute;transform:rotate(45deg)}.bio__foot-name{font-family:var(--font-display);color:var(--bio-text);font-size:1.0625rem}.bio__foot-ig{align-items:center;gap:8px;min-height:48px;padding-left:4px;text-decoration:none;display:inline-flex}.bio__foot-ig svg{flex:none}a.bio__foot-ig:hover{color:var(--bio-text);text-decoration:underline}.bio :focus-visible{outline-offset:3px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:379px){.bio-cta__meta{letter-spacing:0;font-size:.75rem}}@media (max-width:359px){.bio{--rope-x:18px;--indent:42px}.bio-cta{padding-inline:14px}.bio-cta__label{font-size:1.75rem}}@keyframes bio-rope{0%{transform:scaleY(0)}}@keyframes bio-step{0%{opacity:0;transform:translate(-10px)}}.bio__rope{animation:1.3s cubic-bezier(.65,0,.35,1) both bio-rope}.bio .step{animation:bio-step .7s var(--ease) both;animation-delay:calc(.2s + var(--d,0) * 90ms)}@media (prefers-reduced-motion:reduce){.bio__rope,.bio .step{animation:none}.bio *,.bio :before,.bio :after{transition:none!important}}
