:root{color-scheme:dark;--page-bg: #111111;--body-bg: #111111;--text-primary: #f5f5f0;--text-secondary: rgba(245, 245, 240, .72);--accent: #ffffff;--max-width: min(1180px, 92vw);--nav-height: 0px;--font-family-base: "Inter", "Helvetica Neue", Arial, sans-serif;--font-weight-regular: 400;--font-size-display: clamp(2.75rem, 5vw, 3rem);--font-size-body: clamp(1.25rem, 2.2vw, 1.5rem);--font-size-body-small: clamp(1.1rem, 1.9vw, 1.3rem);--font-size-link: clamp(1.1rem, 2vw, 1.4rem);--footer-font-size: clamp(1rem, 1.8vw, 1.2rem);--line-height-tight: 1.2;--gutter-inline: 1rem;--transition-fade-quick: opacity .1s ease;--space-section-gap: 3.75rem}@media (max-width: 600px){:root{--font-size-body: clamp(.875rem, 4vw, 1rem);--font-size-body-small: clamp(.8rem, 3.6vw, .95rem);--font-size-link: clamp(.9rem, 3.8vw, 1.05rem);--font-size-display: clamp(2rem, 6vw, 2.5rem);--space-section-gap: 2rem;--footer-font-size: clamp(.875rem, 3.4vw, 1rem)}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;font-family:var(--font-family-base);background-color:var(--body-bg, var(--page-bg));color:var(--text-primary);line-height:var(--line-height-tight)}@media (max-width: 600px){body{text-align:left}}a{color:inherit;text-decoration:none}main{width:100%}.page-shell{position:relative;min-height:100vh;overflow-x:hidden}.top-nav{position:sticky;top:0;z-index:20;display:flex;justify-content:center;width:100%;padding:1rem;pointer-events:none;opacity:0}.top-nav .nav-inner{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:flex-start;gap:clamp(1rem,4vw,3rem);pointer-events:auto;text-transform:uppercase;font-size:var(--font-size-body);line-height:var(--line-height-tight)}.top-nav .nav-group{display:flex;flex-direction:column}.top-nav .nav-group--contact{align-items:flex-end;text-align:right}@media (max-width: 960px){.top-nav .nav-group:not(:first-child){display:none}}.top-nav .nav-muted{color:var(--text-secondary);font-weight:var(--font-weight-regular)}.top-nav .nav-muted__mobile-role{display:none}.top-nav .nav-muted__credentials{display:inline}@media (max-width: 960px){.top-nav .nav-muted__credentials,.top-nav .nav-muted__mobile-role{display:block}}.top-nav .nav-link{font-weight:var(--font-weight-regular);text-decoration:none;transition:color .1s ease-in-out}.top-nav .nav-link--primary{color:var(--text-primary)}.top-nav .nav-link--muted{color:var(--text-secondary)}.top-nav .nav-link--muted:hover,.top-nav .nav-link--muted:focus{color:var(--text-primary)}@media (max-width: 960px){.top-nav{justify-content:flex-start}.top-nav .nav-inner{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem}}.hero{min-height:calc(100vh - var(--nav-height, 0px));display:grid;place-items:center;padding-top:calc(var(--nav-height, 0px) * .5);margin-top:calc(var(--nav-height, 0px) * -.5);width:100%;position:relative}@media (max-width: 960px){.hero{align-items:center;justify-items:start;padding:1rem}}.hero-quote{margin:0;width:100%;text-align:center;font-size:var(--font-size-display);font-weight:var(--font-weight-regular);line-height:var(--line-height-tight);white-space:nowrap;opacity:0}@media (max-width: 960px){.hero-quote{text-align:left;white-space:normal}}@media (max-width: 600px){.hero-quote{font-size:var(--font-size-display);max-width:18ch}}.content-wrap{display:flex;justify-content:center;padding:clamp(3rem,10vw,6rem) 0 clamp(6rem,14vw,9rem)}@media (max-width: 960px){.content-wrap{padding:1rem}}.content-inner{width:calc(var(--max-width) + 200px);max-width:1380px;display:grid;grid-template-columns:minmax(300px,40%) minmax(320px,1fr);gap:clamp(8rem,16vw,14rem);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-inline:var(--gutter-inline)}@media (max-width: 960px){.content-inner{width:100%;max-width:100%;grid-template-columns:1fr;gap:clamp(3rem,8vw,6rem);padding:0}}.footer-heading{margin:0;font-size:var(--font-size-body);font-weight:var(--font-weight-regular);text-transform:uppercase;color:var(--text-secondary)}@media (max-width: 600px){.footer-heading{font-size:var(--footer-font-size)}}.site-footer{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2.5rem,6vw,4rem);padding:clamp(5rem,12vw,7rem) var(--gutter-inline) 1rem;margin:0}@media (max-width: 960px){.site-footer{grid-template-columns:1fr;gap:2.5rem;padding:1rem}}@media (max-width: 600px){.site-footer{gap:1.75rem}}.site-footer .footer-column{display:flex;flex-direction:column;gap:1.5rem;font-size:var(--font-size-link);color:var(--text-primary)}.site-footer .footer-column--align-end{align-items:flex-end;text-align:right}.site-footer .footer-column--align-end .footer-socials{align-items:flex-end}@media (max-width: 600px){.site-footer .footer-column--align-end{align-items:flex-start;text-align:left}.site-footer .footer-column--align-end .footer-socials{align-items:flex-start}}@media (max-width: 600px){.site-footer .footer-column{font-size:var(--footer-font-size);text-align:left}}.site-footer .footer-address address{margin:0;font-style:normal;display:flex;flex-direction:column;gap:.2rem}.site-footer .footer-address address a{color:var(--text-primary);text-decoration:none;transition:var(--transition-fade-quick)}.site-footer .footer-address address a:hover,.site-footer .footer-address address a:focus{opacity:.7}.site-footer .footer-socials{display:flex;flex-direction:column;gap:.2rem;font-size:var(--font-size-link)}.site-footer .footer-socials a{color:var(--text-primary);text-decoration:none;transition:var(--transition-fade-quick)}.site-footer .footer-socials a:hover,.site-footer .footer-socials a:focus{opacity:.7}@media (max-width: 600px){.site-footer .footer-socials{font-size:var(--footer-font-size);text-align:left}}.hours-list{display:grid;grid-template-columns:auto auto;gap:.1rem 1.5rem;margin:0;font-size:var(--font-size-body-small)}.hours-list dt,.hours-list dd{margin:0;font-weight:var(--font-weight-regular);color:var(--text-primary)}@media (max-width: 600px){.hours-list{font-size:var(--footer-font-size);text-align:left}}.left-column{position:relative}.portrait-shell{position:sticky;top:5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:85vh;opacity:0;transform:translateY(80px);width:100%;transition:opacity .9s ease,transform 1.1s cubic-bezier(.16,1,.3,1)}.portrait-shell figure{position:relative;margin:0;overflow:hidden;width:100%}.portrait-shell img{width:100%;height:auto;display:block;aspect-ratio:3/4;object-fit:cover}.portrait-shell .logo-mark{position:absolute;bottom:5rem;left:50%;opacity:0;transform:translate(-50%,30px);pointer-events:none;display:block;height:auto;z-index:2;transition:opacity .9s ease .25s,transform 1s cubic-bezier(.16,1,.3,1) .25s}.portrait-shell .logo-mark.is-visible{opacity:1;transform:translate(-50%)}.portrait-shell.is-visible{opacity:1;transform:translateY(0)}@media (max-width: 960px){.portrait-shell{position:relative;top:auto;min-height:auto;margin:clamp(4rem,10vh,8rem) auto}}@media (max-width: 600px){.portrait-shell{margin:clamp(3rem,12vw,4rem) auto}}.right-column{display:flex;flex-direction:column;gap:clamp(3rem,6vw,4.5rem);opacity:0;transform:translateY(10vh);margin-top:80vh;transition:opacity .9s ease .2s,transform 1.1s cubic-bezier(.16,1,.3,1) .2s,margin-top 1s ease .15s}.right-column.is-visible{opacity:1;transform:translateY(0)}.right-column__inner{position:sticky;top:clamp(4rem,12vh,6rem);display:flex;flex-direction:column;gap:6rem}@media (max-width: 960px){.right-column{opacity:1;transform:none;margin-top:clamp(3rem,12vh,6rem)}.right-column__inner{position:static}}@media (max-width: 600px){.right-column{gap:clamp(2rem,10vw,3rem)}}.bio-block{margin-bottom:12rem}.bio-block p{margin:0 0 1.6rem;color:var(--text-primary);font-size:var(--font-size-body)}.bio-block p:last-child{margin-bottom:0}@media (max-width: 600px){.bio-block p{text-align:left}}.services h2{font-size:var(--font-size-display);margin:0 0 var(--space-section-gap);font-weight:var(--font-weight-regular)}@media (max-width: 600px){.services h2{font-size:var(--font-size-display)}}.service-category{margin-bottom:var(--space-section-gap)}.service-category:last-child{margin-bottom:0}.service-category h3{margin:0 0 1rem;font-size:var(--font-size-body);text-transform:uppercase;font-weight:var(--font-weight-regular);color:var(--text-secondary)}.service-category ul{margin:0;padding-left:1rem;list-style:none;color:var(--text-primary);font-size:var(--font-size-body)}@media (max-width: 600px){.service-category ul{text-align:left}}.service-category li{position:relative;margin-bottom:.35rem;padding-left:1.5rem}.service-category li:before{content:"";position:absolute;left:0;top:50%;width:.35rem;height:.35rem;border-radius:50%;background-color:currentColor;transform:translateY(-50%)}.service-category li:last-child{margin-bottom:0}body.is-ready .top-nav{animation:navFadeIn .9s ease forwards;animation-delay:3s}body.is-ready .hero-quote{animation:heroFadeIn 1.3s ease forwards;animation-delay:1.5s}.scroll-indicator{position:fixed;left:50%;bottom:clamp(1rem,3vh + .5rem,2.75rem);transform:translate(-50%);opacity:0;pointer-events:none;z-index:14;transition:opacity .3s ease;animation:indicatorFloat 2.4s ease-in-out infinite}.scroll-indicator.is-active{opacity:1}.scroll-indicator svg{display:block;width:2.75rem;height:auto;animation:arrowNod 2.4s ease-in-out infinite}.final-cta-section{position:relative;display:flex;justify-content:center;padding:clamp(8rem,28vh,16rem) clamp(1.5rem,6vw,3rem);text-align:center}@media (max-width: 960px){.final-cta-section{display:block;text-align:left;padding:3.75rem 1rem 5rem}}.final-cta-link{color:var(--text-primary);text-decoration:none;transition:var(--transition-fade-quick)}.final-cta-link:hover,.final-cta-link:focus{opacity:.7;color:var(--accent)}.final-cta-link{font-size:var(--font-size-display);font-weight:var(--font-weight-regular);text-decoration:underline;display:inline-block;transition:opacity .1s ease-in-out;position:sticky;top:50vh;transform:translateY(-50%);align-self:center}@media (max-width: 960px){.final-cta-link{position:static;transform:none}}@media (max-width: 600px){.final-cta-link{text-align:left;font-size:var(--font-size-display)}}@keyframes indicatorFloat{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-10px)}}@keyframes arrowNod{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes heroFadeIn{0%{opacity:0}to{opacity:1}}@keyframes navFadeIn{0%{opacity:0}to{opacity:1}}
