:root{--he-ease:cubic-bezier(.2, .9, .25, 1);--he-fast:.32s;--he-mid:.56s;--he-wrap:1240px;--he-pad:clamp(1rem, 4vw, 3rem);--he-glass:color-mix(in srgb, var(--w-ground) 90%, transparent);--he-well:color-mix(in srgb, var(--w-ground) 82%, #000)}html{scrollbar-color:var(--w-secondary) var(--w-ground)}body.he{background:var(--w-ground);color:var(--w-ink);font-family:var(--w-text);font-size:1.0625rem;line-height:1.55;overflow-x:clip}::selection{background:var(--w-primary);color:var(--w-primary-ink)}:focus-visible{outline:3px solid var(--w-signal);outline-offset:3px;border-radius:6px}a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1.5px}.he-skip{z-index:50;background:var(--w-signal);color:var(--w-signal-ink);border-radius:999px;padding:.6rem 1rem;font-weight:700;text-decoration:none;position:absolute;top:-4rem;left:1rem}.he-skip:focus{top:1rem}.he-wrap{max-width:var(--he-wrap);padding-inline:var(--he-pad);margin-inline:auto}.he-h{font-family:var(--w-display);font-weight:var(--w-display-weight);letter-spacing:var(--w-display-tracking);line-height:var(--w-display-leading);text-transform:var(--w-display-case);text-wrap:balance}.he-h1{max-width:12ch;margin:0 0 1.25rem;font-size:clamp(2.7rem,7vw,5.75rem)}.he-h1--service{max-width:14ch;font-size:clamp(2.3rem,5.6vw,4.6rem)}.he-h2{margin:0 0 1.5rem;font-size:clamp(2rem,4.2vw,3.4rem)}.he-h3{margin:2rem 0 .75rem;font-size:1.5rem}.he-word{margin-right:.22em;display:inline-block}.he-lead{max-width:52ch;color:var(--w-ink);margin:0 0 1.6rem;font-size:1.2rem}.he-btn{border:var(--w-border) var(--w-line);min-height:3rem;color:var(--w-ink);transition:background var(--he-fast) var(--he-ease), border-color var(--he-fast) var(--he-ease), translate var(--he-fast) var(--he-ease);border-radius:999px;align-items:center;gap:.5rem;padding:.7rem 1.35rem;font-weight:700;text-decoration:none;display:inline-flex}.he-btn:hover{background:var(--w-secondary);border-color:var(--w-secondary);translate:0 -2px}.he-btn--signal{background:var(--w-signal);color:var(--w-signal-ink);border-color:var(--w-signal)}.he-btn--signal:hover{background:color-mix(in srgb, var(--w-signal) 88%, #fff);border-color:color-mix(in srgb, var(--w-signal) 88%, #fff)}.he-actions{flex-wrap:wrap;gap:.75rem;margin:0;display:flex}.he-top{z-index:20;padding:.8rem var(--he-pad);background:var(--he-glass);-webkit-backdrop-filter:blur(14px)saturate(1.3);border-bottom:1.5px solid var(--w-line);align-items:center;gap:1.5rem;display:flex;position:sticky;top:0}.he-mark{font-family:var(--w-display);letter-spacing:-.02em;align-items:center;gap:.6rem;margin-right:auto;font-size:1.2rem;font-weight:900;text-decoration:none;display:inline-flex}.he-mark__n{background:var(--w-primary);width:2.1rem;height:2.1rem;color:var(--w-primary-ink);border-radius:8px;place-items:center;font-size:1.3rem;display:grid}.he-nav{gap:1.4rem;font-weight:700;display:flex}.he-nav a{transition:border-color var(--he-fast) var(--he-ease);border-bottom:2px solid #0000;padding:.3rem 0;text-decoration:none}.he-nav a:hover{border-bottom-color:var(--w-primary)}@media (width<=760px){.he-nav{display:none}.he-top .he-btn{min-height:2.5rem;padding:.45rem 1rem}}.he-hero{isolation:isolate;background:var(--w-ground) radial-gradient(60% 50% at 85% 40%, color-mix(in srgb, var(--w-primary) 22%, transparent), transparent 70%), radial-gradient(40% 40% at 70% 90%, color-mix(in srgb, var(--w-primary) 12%, transparent), transparent 70%);padding:clamp(2.5rem,7vw,6rem) 0 clamp(2rem,5vw,4rem);position:relative;overflow:clip}.he-field{z-index:-1;opacity:0;width:100%;height:100%;transition:opacity .9s var(--he-ease);position:absolute;inset:0}.he-field[data-on]{opacity:1}.he-hero__in{max-width:var(--he-wrap);padding-inline:var(--he-pad);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:clamp(1.5rem,4vw,4rem);margin-inline:auto;display:grid}.he-hero--service .he-hero__in{grid-template-columns:minmax(0,7fr) minmax(0,4fr)}@media (width<=860px){.he-hero__in,.he-hero--service .he-hero__in{grid-template-columns:1fr}}.he-crumb{color:var(--w-ink-soft);margin:0 0 .5rem;font-weight:700}.he-crumb a{color:var(--w-primary)}.he-lt{border-radius:12px;grid-template-columns:auto 1fr;align-items:stretch;max-width:100%;margin:0 0 1.5rem;display:inline-grid;overflow:hidden}.he-lt__a{background:var(--w-primary);color:var(--w-primary-ink);font-family:var(--w-display);letter-spacing:-.02em;white-space:nowrap;padding:.55rem .9rem;font-weight:900}.he-lt__b{background:var(--w-secondary);color:var(--w-secondary-ink);padding:.55rem .9rem;font-weight:700}.he-lt__b a{text-decoration:none}.he-lt__b a:hover{text-decoration:underline}.he-lt--stack{margin:0;display:grid}.he-photo{border-radius:var(--w-radius);background:var(--w-secondary);isolation:isolate;position:relative;overflow:hidden}.he-photo img{object-fit:cover;mix-blend-mode:luminosity;filter:contrast(1.1)brightness(.82);width:100%;height:100%}.he-stage{margin:0;position:relative}.he-photo--tall{aspect-ratio:4/5}.he-stage .he-photo--tall img{object-position:60% 40%}.he-arc{fill:none;width:78%;stroke:var(--w-primary);stroke-linecap:round;position:absolute;inset:auto -6% 18% auto;overflow:visible}.he-arc__track{stroke:var(--w-line);stroke-width:2px;stroke-dasharray:.012 .018}.he-arc__line{stroke-width:5px}.he-arc__arm{stroke-width:5px;transform-origin:200px 300px;rotate:-135deg}.he-arc__arm circle,.he-arc__pivot{fill:var(--w-primary);stroke:none}.he-glass{background:var(--he-glass);-webkit-backdrop-filter:blur(14px)saturate(1.3);border:1.5px solid var(--w-line);border-radius:16px}.he-dial{gap:.3rem;width:min(52%,240px);margin:0;padding:.8rem .9rem .7rem;display:grid;position:absolute;bottom:6%;left:6%}.he-dial svg{overflow:visible}.he-dial__track{fill:none;stroke:var(--w-line);stroke-width:10px}.he-dial__fill{fill:none;stroke:var(--w-primary);stroke-width:10px;stroke-dasharray:1;stroke-dashoffset:.25px;stroke-linecap:round}.he-dial__tick{stroke:var(--w-ink-soft);stroke-width:2px}.he-dial__tick--major{stroke:var(--w-ink);stroke-width:3px}.he-dial text{fill:var(--w-ink);font:700 14px var(--w-text)}.he-dial__needle{stroke:var(--w-signal);stroke-width:5px;stroke-linecap:round;transform-origin:120px 120px;rotate:135deg}.he-dial__hub{fill:var(--w-signal)}.he-dial__label{color:var(--w-ink);font-size:.85rem;font-weight:700}.he-services{padding:clamp(3rem,8vw,6rem) 0}.he-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;list-style:none;display:grid}.he-card{border-radius:var(--w-radius);background:var(--w-secondary);border:1.5px solid var(--w-line);overflow:hidden}.he-card--lead{background:var(--he-well);border-color:var(--w-primary);grid-area:span 2/span 2}.he-card__link{height:100%;color:inherit;grid-template-rows:auto 1fr;gap:1.5rem;padding:1.25rem 1.25rem 1.4rem;text-decoration:none;display:grid;position:relative}.he-card--lead .he-card__link{grid-template-rows:auto 1fr;grid-template-columns:1fr minmax(0,46%)}.he-card--lead .he-card__photo{grid-area:1/2/3;align-self:stretch;min-height:260px}.he-num{font-family:var(--w-display);letter-spacing:-.05em;color:var(--w-primary);font-variant-numeric:tabular-nums;font-size:clamp(3rem,5vw,4.4rem);font-weight:900;line-height:.8}.he-card--lead .he-num{font-size:clamp(4.5rem,8vw,7rem)}.he-card__body{align-content:end;gap:.5rem;display:grid}.he-card__name{font-size:1.45rem}.he-card--lead .he-card__name{font-size:clamp(1.8rem,2.8vw,2.4rem)}.he-card__line{color:var(--w-ink)}.he-card__more{color:var(--w-signal);margin-top:.5rem;font-weight:700}a.he-card__link{transition:translate var(--he-fast) var(--he-ease), box-shadow var(--he-fast) var(--he-ease)}a.he-card__link:hover{box-shadow:0 18px 40px -20px color-mix(in srgb, var(--w-primary) 60%, transparent);translate:0 -4px}a.he-card__link:hover .he-card__more{text-decoration:underline}@media (width<=900px){.he-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.he-card--lead{grid-area:auto/span 2}}@media (width<=560px){.he-cards{grid-template-columns:1fr}.he-card--lead{grid-column:auto}.he-card--lead .he-card__link{grid-template-columns:1fr}.he-card--lead .he-card__photo{aspect-ratio:16/10;grid-area:auto/1;min-height:0}}.he-story{background:var(--he-well);view-timeline-name:--he-story;padding:clamp(2rem,6vw,5rem) 0}.he-story__grid{grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(1.5rem,5vw,5rem);display:grid}.he-story__pin{grid-template-columns:1fr auto;align-self:start;gap:1rem;display:grid;position:sticky;top:5.5rem}.he-spine{width:clamp(64px,8vw,110px);fill:var(--w-primary)}.he-spine path{fill:none;stroke-width:4px;stroke-linecap:round}.he-spine__track{stroke:var(--w-line);stroke-dasharray:3 9}.he-spine__line,.he-spine__glow{stroke:var(--w-primary);stroke-width:5px;stroke-dasharray:1;stroke-dashoffset:0}.he-spine__glow{stroke-width:14px;opacity:.28}.he-story__text{max-width:62ch;font-size:1.125rem}.he-story__text p{margin:0 0 1.2rem}.he-proof{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:2rem;list-style:none;display:grid}.he-proof .he-lt__a{padding:.8rem .9rem .5rem;font-size:1.4rem;line-height:1}.he-proof .he-lt__b{font-weight:400}@media (width<=860px){.he-story__grid{grid-template-columns:1fr}.he-story__pin{position:static}.he-spine{width:56px}}@media (width<=560px){.he-proof{grid-template-columns:1fr}}.he-gallery{padding:clamp(3rem,8vw,6rem) 0 clamp(2rem,5vw,4rem)}.he-gallery .he-wrap{position:relative}.he-stride{left:var(--he-pad);width:calc(100% - 2 * var(--he-pad));z-index:2;pointer-events:none;height:60%;position:absolute;top:-8%;overflow:visible}.he-stride__line,.he-stride__glow{fill:none;stroke:var(--w-primary);stroke-width:5px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0;vector-effect:non-scaling-stroke}.he-stride__glow{stroke-width:16px;opacity:.28}.he-plates{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;list-style:none;display:grid}.he-plate{position:relative}.he-plate:nth-child(2){translate:0 2.5rem}.he-photo--plate{aspect-ratio:3/4}.he-num--plate{color:var(--w-ink);font-size:3.2rem;position:absolute;bottom:.6rem;right:.9rem}@media (width<=700px){.he-plates{grid-template-columns:1fr}.he-plate:nth-child(2){translate:none}.he-photo--plate{aspect-ratio:4/3}.he-stride{display:none}}.he-faq{padding:clamp(3rem,8vw,6rem) 0}.he-faq__grid{grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(1.5rem,5vw,5rem);display:grid}@media (width<=860px){.he-faq__grid{grid-template-columns:1fr}}.he-faq__list{gap:.6rem;display:grid}.he-q{border:1.5px solid var(--w-line);background:var(--w-secondary);border-radius:16px;overflow:hidden}.he-q summary{cursor:pointer;padding:1rem 3.2rem 1rem 1.25rem;font-size:1.25rem;list-style:none;position:relative}.he-q summary::-webkit-details-marker{display:none}.he-q summary:after{content:"";border-right:3px solid var(--w-primary);border-bottom:3px solid var(--w-primary);width:12px;height:12px;transition:rotate var(--he-fast) var(--he-ease);position:absolute;top:50%;right:1.25rem;translate:0 -70%;rotate:45deg}.he-q[open] summary:after{translate:0 -30%;rotate:-135deg}.he-q summary:hover{background:color-mix(in srgb, var(--w-secondary) 70%, var(--w-ground))}.he-q p{max-width:60ch;padding:0 1.25rem 1.2rem}.he-num--big{color:var(--w-primary);margin:0 0 .5rem;font-size:clamp(5rem,12vw,10rem);line-height:.75;display:block}.he-num--row{font-size:2.2rem}.he-others{padding:clamp(2rem,6vw,5rem) 0}.he-roster{border-top:1.5px solid var(--w-line);margin-bottom:1.5rem;list-style:none;display:grid}.he-roster__row{border-bottom:1.5px solid var(--w-line);grid-template-columns:4.5rem minmax(0,2fr) minmax(0,3fr);align-items:baseline;gap:1rem;padding:1.1rem 0;display:grid}.he-roster__name{font-size:1.35rem}@media (width<=700px){.he-roster__row{grid-template-columns:3.5rem 1fr}.he-roster__line{grid-column:2}}.he-contact{background:var(--he-well);padding:clamp(3rem,8vw,6rem) 0 clamp(2rem,6vw,4rem)}.he-contact__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:clamp(1.5rem,4vw,3rem);display:grid}@media (width<=860px){.he-contact__grid{grid-template-columns:1fr}}.he-contact__panel{border-radius:var(--w-radius);min-height:460px;position:relative;overflow:hidden}.he-photo--bg{border-radius:0;position:absolute;inset:0}.he-photo--bg img{filter:contrast(1.1)brightness(.6)}.he-contact__card{gap:.8rem;padding:1.5rem;display:grid;position:absolute;inset:auto 1.25rem 1.25rem}.he-contact__card .he-h2{margin:0;font-size:1.9rem}.he-phone{color:var(--w-signal);font-size:clamp(2rem,4vw,2.8rem);text-decoration:none;display:inline-block}.he-phone:hover{text-decoration:underline}.he-dl{grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:0;display:grid}.he-dl dt{color:var(--w-ink-soft);font-weight:700}.he-dl dd{margin:0}.he-contact__form .he-lt{margin-bottom:1rem}.demo-form{gap:.9rem;display:grid}.demo-form label{gap:.35rem;font-size:.95rem;font-weight:700;display:grid}.demo-form input,.demo-form textarea{border:1.5px solid var(--w-line);background:var(--he-well);width:100%;color:var(--w-ink);transition:border-color var(--he-fast) var(--he-ease), box-shadow var(--he-fast) var(--he-ease);caret-color:var(--w-signal);border-radius:12px;padding:.75rem .95rem}.demo-form input:hover,.demo-form textarea:hover{border-color:var(--w-primary)}.demo-form input:focus-visible,.demo-form textarea:focus-visible{border-color:var(--w-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--w-primary) 35%, transparent);outline:none}.demo-form textarea{resize:vertical;min-height:7rem}.demo-form button{background:var(--w-signal);min-height:3rem;color:var(--w-signal-ink);cursor:pointer;transition:background var(--he-fast) var(--he-ease), translate var(--he-fast) var(--he-ease);border:0;border-radius:999px;justify-self:start;padding:.7rem 1.5rem;font-weight:700}.demo-form button:hover{background:color-mix(in srgb, var(--w-signal) 88%, #fff);translate:0 -2px}.demo-form__note{color:var(--w-ink-soft);max-width:50ch;font-size:.875rem}.demo-disclosure{padding:1.5rem var(--he-pad) 2rem;border-top:1.5px solid var(--w-line);color:var(--w-ink-soft);max-width:var(--he-wrap);margin:0 auto;font-size:.85rem;line-height:1.5}.demo-disclosure a{color:var(--w-ink)}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root){animation:he-vt-out .26s var(--he-ease) both}::view-transition-new(root){animation:he-vt-in .38s var(--he-ease) both}::view-transition-group(he-num),::view-transition-group(he-mark){animation-duration:.46s;animation-timing-function:var(--he-ease)}@keyframes he-vt-out{to{opacity:0;translate:-2vw}}@keyframes he-vt-in{0%{opacity:0;translate:3vw}}.he-word{animation:he-word var(--he-mid) var(--he-ease) both;animation-delay:calc(var(--i) * 55ms)}@keyframes he-word{0%{opacity:0;filter:blur(8px);font-weight:400;translate:0 .35em}}.he-lt--cut,.he-cut{animation:he-cut var(--he-mid) var(--he-ease) both;animation-delay:calc(var(--i) * 55ms)}@keyframes he-cut{0%{clip-path:inset(0 100% 0 0);opacity:0;translate:-1.5rem}to{clip-path:inset(0)}}.he-arc__line{stroke-dasharray:1;animation:he-draw .9s var(--he-ease) .3s both}@keyframes he-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.he-arc__arm{animation:he-arm 1.1s var(--he-ease) .5s both}@keyframes he-arm{0%{rotate:0deg}}.he-dial__needle{animation:he-needle 1.1s var(--he-ease) .5s both}@keyframes he-needle{0%{rotate:0deg}}.he-dial__fill{animation:he-dialfill 1.1s var(--he-ease) .5s both}@keyframes he-dialfill{0%{stroke-dashoffset:1px}}@supports (animation-timeline:view()){.he-card,.he-lt--stack,.he-roster__row{animation:linear both he-slide view();animation-range:entry entry 55%}@keyframes he-slide{0%{opacity:0;clip-path:inset(0 40% 0 0 round var(--w-radius));translate:-2.5rem}to{clip-path:inset(0 0 0 0 round var(--w-radius))}}.he-spine__line,.he-spine__glow{animation:linear both he-draw --he-story;animation-range:entry 30% exit 60%}.he-stride__line,.he-stride__glow{animation:linear both he-draw view();animation-range:entry cover 55%}.he-plate{animation:linear both he-plate view();animation-range:entry entry 70%}@keyframes he-plate{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}.he-plate .he-photo--plate img{animation:linear both he-zoom view();animation-range:entry cover}@keyframes he-zoom{0%{scale:1.12}to{scale:1}}}@supports not (animation-timeline:view()){html[data-js] .he-io{transition:opacity var(--he-mid) var(--he-ease), translate var(--he-mid) var(--he-ease), stroke-dashoffset 1.2s var(--he-ease)}html[data-js] .he-io:not(.in){opacity:0;translate:-2rem}html[data-js] path.he-io:not(.in){opacity:1;stroke-dashoffset:1px;translate:none}}}@media (prefers-reduced-motion:reduce){.he-field{display:none}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.he-btn,.he-card__link,.he-q summary,.he-nav a,.demo-form input,.demo-form textarea,.demo-form button{transition:none}}
