:root{--background: #ffffff;--foreground: #000000;--border: #000000;--ease-out: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html{background:var(--background);color:var(--foreground);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--background);color:var(--foreground)}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}#root{min-height:100vh}.site-shell{width:min(100%,78rem);margin:0 auto;padding:1rem}.nav-link{font-size:.92rem;letter-spacing:.03em;position:relative}.nav-link:after,.contact-list a:after{content:"";position:absolute;left:0;bottom:-.18rem;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .32s var(--ease-out)}.nav-link:hover:after,.nav-link.active:after,.nav-link:focus-visible:after,.contact-list a:hover:after,.contact-list a:focus-visible:after{transform:scaleX(1)}.frame-nav{display:flex;justify-content:flex-end;opacity:0;transform:translateY(-.65rem);animation:fadeDown .7s var(--ease-out) .12s forwards}.frame-nav-delayed{opacity:0;transform:translateY(-.65rem);animation:fadeDown .9s var(--ease-out) 3.24s forwards}.frame-nav-links{display:flex;align-items:center;gap:1rem}.card-layout{display:grid;gap:0;border:1px solid var(--border)}.section-block{padding:1.5rem}.section-block+.section-block{border-top:1px solid var(--border)}.frame-nav+.section-block{border-top:none}.hero,.about-hero{min-height:calc(100svh - 8rem)}.hero{position:relative;display:flex;flex-direction:column;justify-content:center;gap:1rem;overflow:hidden}.about-hero{display:grid;align-content:center;gap:1rem}.kicker,.section-label{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.wordmark,.page-title,.section-heading h2{margin:0;font-weight:700;line-height:.95;letter-spacing:-.06em}.wordmark{display:grid;gap:.15rem;font-size:clamp(3rem,16vw,7rem)}.intro-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none;z-index:3;animation:introOverlayExit .52s var(--ease-out) 2.52s forwards}.intro-overlay:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--background);opacity:0;transform:scaleX(0);transform-origin:center;animation:introFlash .52s cubic-bezier(.7,0,.2,1) 2.52s forwards}.intro-wordmark{display:flex;align-items:center;justify-content:center;width:100%;font-size:clamp(3rem,16vw,7rem);font-weight:700;line-height:.95;letter-spacing:-.06em;text-align:center}.intro-wordmark-line{display:block;position:relative;overflow:hidden;padding-right:.14em}.intro-wordmark-line:after{content:"";position:absolute;top:-.08em;right:0;bottom:-.08em;left:0;background:var(--background);transform:translate(0);animation:wordmarkWipe 1.1s cubic-bezier(.77,0,.18,1) forwards}.intro-wordmark-text{display:block;opacity:0;filter:blur(10px);transform:translateY(.16em);animation:wordmarkTextIn 1.1s cubic-bezier(.22,1,.36,1) forwards}.wordmark-final{width:fit-content;max-width:100%;align-self:flex-start;position:relative;z-index:1}.wordmark-final-line{display:block;overflow:visible}.wordmark-final-text{display:block;opacity:0;filter:blur(8px);transform:translateY(.4rem);animation:finalWordmarkIn .9s cubic-bezier(.22,1,.36,1) 2.78s forwards}.wordmark-final-line:nth-child(2) .wordmark-final-text{animation-delay:2.86s}.address,.strapline,.metric-copy,.contact-list a,.about-copy{margin:0;font-size:1rem;line-height:1.45}.address{max-width:22rem}.strapline{max-width:32rem;font-size:clamp(1.2rem,5vw,2rem);font-weight:500;line-height:1.15;letter-spacing:-.03em}.page-line{opacity:0;transform:translateY(.9rem);animation:fadeUp .7s var(--ease-out) forwards}.page-line-delayed{opacity:0;transform:translateY(1.2rem);animation:fadeUpSlow 1.2s var(--ease-out) 3.22s forwards}.page-line:not(.page-line-delayed):nth-of-type(1){animation-delay:60ms}.page-line:not(.page-line-delayed):nth-of-type(2){animation-delay:.22s}.page-line:not(.page-line-delayed):nth-of-type(3){animation-delay:.32s}.section-heading{display:grid;gap:.65rem;margin-bottom:1.75rem}.section-heading h2,.page-title{font-size:clamp(2rem,8vw,4.5rem)}.metrics-grid{display:grid;grid-template-columns:1fr;gap:1rem}.metric{border:1px solid var(--border);padding:1rem;transition:transform .3s var(--ease-out)}.metric:hover{transform:translateY(-.2rem)}.metric-value{margin:0 0 .6rem;font-size:clamp(2rem,10vw,4rem);font-weight:700;letter-spacing:-.08em;line-height:1}.contact-list{display:grid;gap:.85rem}.contact-section{display:grid;gap:1.25rem}.contact-list a{width:fit-content;position:relative}.contact-address{justify-self:start;align-self:end;text-align:left}.about-copy{max-width:44rem}.reveal-delayed{opacity:0;visibility:hidden}.reveal-delayed.reveal-enabled{visibility:visible}.reveal{opacity:0;transform:translateY(1.2rem);transition:opacity .76s var(--ease-out) var(--delay, 0ms),transform .76s var(--ease-out) var(--delay, 0ms)}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@keyframes fadeUpSlow{0%{opacity:0;transform:translateY(1.2rem)}to{opacity:1;transform:translateY(0)}}@keyframes fadeDown{to{opacity:1;transform:translateY(0)}}@keyframes wordmarkTextIn{0%{opacity:0;filter:blur(10px);transform:translateY(.16em);letter-spacing:-.09em}55%{opacity:1;filter:blur(4px);transform:translateY(.02em)}to{opacity:1;filter:blur(0);transform:translateY(0);letter-spacing:-.06em}}@keyframes wordmarkWipe{0%{transform:translate(0)}60%{transform:translate(0)}to{transform:translate(103%)}}@keyframes finalWordmarkIn{0%{opacity:0;filter:blur(8px);transform:translateY(.4rem)}to{opacity:1;filter:blur(0);transform:translateY(0)}}@keyframes introFlash{0%{opacity:0;transform:scaleX(0)}35%{opacity:1;transform:scaleX(1)}to{opacity:1;transform:scaleX(1)}}@keyframes introOverlayExit{0%{opacity:1}to{opacity:0;visibility:hidden}}@media (min-width: 48rem){.site-shell{padding:1.5rem}.section-block{padding:2rem}.frame-nav-links{gap:1.5rem}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-section{min-height:12rem}.contact-address{justify-self:end;text-align:right}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.frame-nav,.page-line,.page-line-delayed,.intro-wordmark-text,.wordmark-final-text,.reveal,.reveal-delayed{opacity:1!important;visibility:visible!important;transform:none!important;filter:none!important}.intro-overlay{display:none!important}}
