:root{--hm-bg:#efece6;--hm-paper:#f7f5f0;--hm-ink:#1d1d1b;--hm-ink-soft:#57554f;--hm-line:#1d1d1b24;--hm-blue:#1f4e79;--hm-blue-light:#bcd3ea;--hm-display:var(--font-space-grotesk), "Helvetica Neue", Arial, sans-serif;--hm-sans:var(--font-inter), system-ui, -apple-system, "Segoe UI", sans-serif;--hm-gutter:clamp(1.25rem, .6rem + 2.6vw, 3rem);--hm-max:1360px;--hm-ease:cubic-bezier(.2, .7, .2, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}body{background:var(--hm-bg);color:var(--hm-ink);font-family:var(--hm-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.65;overflow-x:clip}h1,h2,h3,p,ul,ol,dl,dd,figure,fieldset{margin:0;padding:0}fieldset{border:0;min-width:0}ul,ol{list-style:none}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--hm-blue);outline-offset:3px}.hm-section--blue :focus-visible{outline-color:#fff}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.hm-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hm-skip{z-index:100;background:var(--hm-ink);color:#fff;padding:.6rem 1rem;position:absolute;top:-100px;left:1rem}.hm-skip:focus{top:1rem}.hm-wrap{width:100%;max-width:calc(var(--hm-max) + 2 * var(--hm-gutter));padding-inline:var(--hm-gutter);margin-inline:auto}.hm-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--hm-blue);font-size:.75rem;font-weight:600}.hm-title{font-family:var(--hm-display);letter-spacing:-.035em;text-wrap:balance;font-size:clamp(2.25rem,1.4rem + 3.2vw,4.5rem);font-weight:300;line-height:1}.hm-header{z-index:40;background:color-mix(in srgb, var(--hm-bg) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--hm-line);position:sticky;top:0}.hm-header__inner{justify-content:space-between;align-items:center;gap:1.5rem;min-height:70px;display:flex}.hm-logo{font-family:var(--hm-display);letter-spacing:-.03em;align-items:baseline;gap:.5rem;font-size:1.625rem;font-weight:500;display:inline-flex}.hm-logo__mark{border:2px solid var(--hm-blue);width:16px;height:16px;box-shadow:inset 5px 5px 0 var(--hm-paper), inset 16px 16px 0 var(--hm-blue);align-self:center}.hm-logo__sub{font-size:.75rem;font-family:var(--hm-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--hm-ink-soft);font-weight:500}.hm-nav ul{gap:1.75rem;display:flex}.hm-nav a{color:var(--hm-ink-soft);transition:color .2s var(--hm-ease), border-color .2s var(--hm-ease);border-bottom:1px solid #0000;font-size:.9375rem}.hm-nav a:hover{color:var(--hm-ink);border-color:var(--hm-blue)}@media (max-width:639px){.hm-header__inner{flex-wrap:wrap;row-gap:0;padding-block:.6rem 0}.hm-nav{scrollbar-width:none;width:100%;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 82%,#0000);mask-image:linear-gradient(90deg,#000 82%,#0000)}.hm-nav ul{gap:1.25rem;width:max-content;padding-block:.4rem .65rem}.hm-nav a{align-items:center;min-height:36px;display:inline-flex}.hm-section,.hm-contact{scroll-margin-top:112px}}.hm-drawing{width:100%;height:auto;color:var(--hm-blue);display:block}.hm-drawing text{fill:currentColor;font-family:var(--hm-display);stroke:none}.hm-dim{letter-spacing:.1em;font-size:12px}.hm-label{letter-spacing:.16em;font-size:11px}.hm-drawing--draw path:not([stroke-dasharray]),.hm-drawing--draw circle{stroke-dasharray:1;stroke-dashoffset:1px;animation:hm-draw 2.4s var(--hm-ease) forwards}.hm-drawing--draw path:nth-of-type(3n){animation-delay:.25s}.hm-drawing--draw path:nth-of-type(3n+1){animation-delay:.5s}.hm-drawing--draw text{opacity:0;animation:.6s 1.6s forwards hm-fade}@keyframes hm-draw{to{stroke-dashoffset:0}}@keyframes hm-fade{to{opacity:1}}@media (prefers-reduced-motion:reduce){.hm-drawing--draw path:not([stroke-dasharray]),.hm-drawing--draw circle{stroke-dasharray:none;stroke-dashoffset:0}.hm-drawing--draw text{opacity:1}}.hm-hero{padding-block:clamp(3rem,2rem + 5vw,7rem) clamp(3rem,2rem + 3vw,5rem)}.hm-hero__title{font-family:var(--hm-display);letter-spacing:-.055em;margin-block:1.25rem 2.5rem;font-size:clamp(3rem,1rem + 8vw,10rem);font-weight:300;line-height:.92}.hm-hero__sheet{border:1px solid var(--hm-line);background:linear-gradient(var(--hm-line) 1px, transparent 1px) 0 0 / 40px 40px, linear-gradient(90deg, var(--hm-line) 1px, transparent 1px) 0 0 / 40px 40px, var(--hm-paper);padding:clamp(1rem,.5rem + 2vw,2.5rem);position:relative}.hm-hero__stamp{border-top:1px solid var(--hm-blue);border-left:1px solid var(--hm-blue);background:var(--hm-paper);font-family:var(--hm-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hm-blue);grid-template-columns:repeat(3,auto);font-size:.75rem;display:grid;position:absolute;bottom:0;right:0}.hm-hero__stamp span{padding:.5rem .9rem}.hm-hero__stamp span+span{border-left:1px solid var(--hm-blue)}.hm-hero__lead{max-width:56ch;color:var(--hm-ink-soft);margin-top:2rem;font-size:clamp(1.0625rem,1rem + .3vw,1.25rem)}@media (max-width:539px){.hm-hero__stamp{border:1px solid var(--hm-blue);margin-top:1rem;position:static}}.hm-section,.hm-contact{scroll-margin-top:70px}.hm-section{padding-block:clamp(4rem,2.5rem + 5vw,8rem)}.hm-section--rule{border-top:1px solid var(--hm-line)}.hm-section--blue{background:var(--hm-blue);color:#fff}.hm-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 3rem;margin-bottom:clamp(2.5rem,1rem + 3vw,4rem);display:flex}.hm-head__note{max-width:36ch;color:var(--hm-ink-soft)}.hm-featured{grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);align-items:start;gap:clamp(2rem,1rem + 4vw,5rem);display:grid}.hm-featured__copy .hm-title{margin-block:1rem 1.25rem}.hm-featured__copy>p:not(.hm-kicker){color:var(--hm-ink-soft)}.hm-facts{border-top:1px solid var(--hm-ink);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2rem;display:grid}.hm-facts div{border-bottom:1px solid var(--hm-line);padding:.9rem 0}.hm-facts dt{letter-spacing:.14em;text-transform:uppercase;color:var(--hm-ink-soft);font-size:.75rem;font-weight:600}.hm-facts dd{font-family:var(--hm-display);font-size:1.25rem}.hm-switch__tabs{border:1px solid var(--hm-blue);margin-bottom:1rem;display:inline-flex}.hm-switch__tabs label{position:relative}.hm-switch__tabs input{opacity:0;cursor:pointer;position:absolute;inset:0}.hm-switch__tabs span{letter-spacing:.08em;text-transform:uppercase;min-height:44px;color:var(--hm-blue);align-items:center;padding:0 1.2rem;font-size:.875rem;font-weight:600;display:inline-flex}.hm-switch__tabs label+label span{border-left:1px solid var(--hm-blue)}.hm-switch__tabs input:checked+span{background:var(--hm-blue);color:#fff}.hm-switch__tabs input:focus-visible+span{outline:2px solid var(--hm-ink);outline-offset:2px}.hm-switch__sheet{border:1px solid var(--hm-line);background:var(--hm-paper);padding:clamp(1rem,.5rem + 1.5vw,2rem)}.hm-switch figcaption{color:var(--hm-ink-soft);margin-top:.75rem;font-size:.8125rem}@media (max-width:899px){.hm-featured{grid-template-columns:minmax(0,1fr)}}.hm-refs{border-top:1px solid var(--hm-line);grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(1.5rem,1rem + 3vw,4rem);margin-top:clamp(3rem,2rem + 3vw,5rem);padding-top:2rem;display:grid}.hm-refs__label{font-family:var(--hm-display);letter-spacing:-.02em;font-size:1.25rem;font-weight:400}.hm-refs__label span{font-family:var(--hm-sans);letter-spacing:0;color:var(--hm-ink-soft);margin-top:.5rem;font-size:.875rem;display:block}.hm-refs ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.75rem,.5rem + 1vw,1.5rem);display:grid}.hm-refs img{aspect-ratio:4/5;object-fit:cover;width:100%;height:auto;display:block}.hm-refs li p{font-family:var(--hm-display);margin-top:.6rem}.hm-refs small,.hm-mats small{color:var(--hm-ink-soft);margin-top:.25rem;font-size:.75rem;display:block}@media (max-width:799px){.hm-refs{grid-template-columns:minmax(0,1fr)}}.hm-prec{grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:start;gap:clamp(1.5rem,1rem + 3vw,3.5rem);display:grid}.hm-prec__photo{margin:0}.hm-prec__frame{position:relative}.hm-prec__photo img{width:100%;height:auto;display:block}.hm-prec__photo figcaption{color:var(--hm-ink-soft);margin-top:.6rem;font-size:.8125rem}.hm-prec__pin{left:var(--x);top:var(--y);color:#fff;width:36px;height:36px;font-family:var(--hm-display);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .25s var(--hm-ease), transform .25s var(--hm-ease);background:#1d1d1b8c;border:2px solid #fff;border-radius:50%;place-items:center;font-size:.9375rem;font-weight:500;display:grid;position:absolute;transform:translate(-50%,-50%)}.hm-prec__pin[aria-pressed=true]{background:var(--hm-blue);transform:translate(-50%,-50%)scale(1.15)}.hm-prec__pin:focus-visible{outline-offset:2px;outline:3px solid #fff}.hm-prec__notes{border-top:1px solid var(--hm-ink);display:grid}.hm-prec__notes li{border-bottom:1px solid var(--hm-line);opacity:.55;transition:opacity .25s var(--hm-ease);grid-template-columns:2.25rem minmax(0,1fr);gap:.5rem;padding:1rem 0;display:grid}.hm-prec__notes li[data-on=true]{opacity:1}.hm-prec__n{border:1px solid var(--hm-blue);width:1.75rem;height:1.75rem;font-family:var(--hm-display);color:var(--hm-blue);border-radius:50%;place-items:center;font-size:.8125rem;display:grid}li[data-on=true] .hm-prec__n{background:var(--hm-blue);color:#fff}.hm-prec__notes h3{font-family:var(--hm-display);letter-spacing:-.01em;font-size:1.125rem;font-weight:500}.hm-prec__notes p{color:var(--hm-ink-soft);margin-top:.2rem;font-size:.9375rem}@media (max-width:999px){.hm-prec{grid-template-columns:minmax(0,1fr)}.hm-prec__notes li{opacity:1}}@media (max-width:539px){.hm-prec__pin{width:28px;height:28px;font-size:.8125rem}}.hm-mats{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,.5rem + 1.5vw,2rem);display:grid}.hm-mats__swatch{aspect-ratio:1;border:1px solid var(--hm-line);margin-bottom:1rem;overflow:hidden}.hm-mats__swatch img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s var(--hm-ease);display:block}.hm-mats li:hover .hm-mats__swatch img{transform:scale(1.06)}.hm-mats h3{border-bottom:1px solid var(--hm-ink);font-family:var(--hm-display);letter-spacing:-.03em;padding-bottom:.6rem;font-size:1.5rem;font-weight:400}.hm-mats dl{margin:0 0 .6rem;display:grid}.hm-mats dl div{border-bottom:1px solid var(--hm-line);grid-template-columns:4.5rem minmax(0,1fr);gap:.5rem;padding-block:.55rem;font-size:.875rem;display:grid}.hm-mats dt{letter-spacing:.1em;text-transform:uppercase;color:var(--hm-blue);font-size:.6875rem;font-weight:600}.hm-mats dd{color:var(--hm-ink-soft);margin:0}@media (max-width:1099px){.hm-mats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:539px){.hm-mats{grid-template-columns:minmax(0,1fr)}.hm-mats__swatch{aspect-ratio:16/9}}@media (prefers-reduced-motion:reduce){.hm-mats li:hover .hm-mats__swatch img,.hm-prec__pin[aria-pressed=true]{transform:translate(-50%,-50%)}.hm-mats li:hover .hm-mats__swatch img{transform:none}}.hm-table-wrap{overflow-x:auto}.hm-table{border-collapse:collapse;border-top:1px solid var(--hm-ink);width:100%}.hm-table th,.hm-table td{border-bottom:1px solid var(--hm-line);text-align:left;vertical-align:baseline;padding:1.1rem 1rem 1.1rem 0}.hm-table thead th{letter-spacing:.14em;text-transform:uppercase;color:var(--hm-ink-soft);font-size:.75rem;font-weight:600}.hm-table tbody th{font-family:var(--hm-display);letter-spacing:-.02em;font-size:clamp(1.25rem,1rem + .8vw,1.75rem);font-weight:400}.hm-table tbody td{color:var(--hm-ink-soft)}.hm-table tbody tr{transition:background .2s var(--hm-ease)}.hm-table tbody tr:hover{background:var(--hm-paper)}.hm-status{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border:1px solid;padding:.15rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.hm-status--complete{color:var(--hm-blue)}.hm-status--on-site{color:#8a4b0f}.hm-status--planning{color:var(--hm-ink-soft)}@media (max-width:699px){.hm-table thead{display:none}.hm-table tr{border-bottom:1px solid var(--hm-line);grid-template-columns:3.5rem minmax(0,1fr);column-gap:.75rem;padding-block:1rem;display:grid}.hm-table th,.hm-table td{border:0;padding:0}.hm-table tbody td:first-child{grid-row:span 4}.hm-table tbody td:not(:first-child){font-size:.9375rem}.hm-table tbody td:last-child{margin-top:.4rem}}.hm-section--blue .hm-title{color:#fff}.hm-principles{border-top:1px solid #ffffff73;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.hm-principles li{padding:1.75rem 1.75rem 0}.hm-principles li+li{border-left:1px solid #fff3}.hm-principles li:first-child{padding-left:0}.hm-principles__num{font-family:var(--hm-display);color:var(--hm-blue-light)}.hm-principles h3{font-family:var(--hm-display);letter-spacing:-.02em;margin-block:1rem .5rem;font-size:clamp(1.5rem,1.2rem + .9vw,2.125rem);font-weight:400;line-height:1.1}.hm-principles p{color:#fffc}.hm-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:clamp(3rem,2rem + 3vw,5rem);display:grid}.hm-stats li{border-top:1px solid #ffffff4d;padding-top:1rem}.hm-stats strong{font-family:var(--hm-display);letter-spacing:-.04em;font-size:clamp(2.75rem,2rem + 3vw,5rem);font-weight:300;line-height:1;display:block}.hm-stats span{color:#fffc;font-size:.9375rem}@media (max-width:799px){.hm-principles,.hm-stats{grid-template-columns:minmax(0,1fr)}.hm-principles{border-top:0}.hm-principles li,.hm-principles li+li{border-top:1px solid #ffffff4d;border-left:0;padding:1.5rem 0}}.hm-contact{border-top:1px solid var(--hm-line);padding-block:clamp(4rem,2.5rem + 5vw,8rem) 5.5rem}.hm-contact__title{max-width:16ch;font-family:var(--hm-display);letter-spacing:-.05em;margin-block:1rem 1.25rem;font-size:clamp(2.75rem,1rem + 7vw,8rem);font-weight:300;line-height:.95}.hm-contact__lead{max-width:48ch;color:var(--hm-ink-soft)}.hm-contact__mail{border-bottom:2px solid var(--hm-blue);max-width:100%;font-family:var(--hm-display);color:var(--hm-blue);overflow-wrap:anywhere;margin-block:2rem 3.5rem;font-size:clamp(1.5rem,1rem + 2.4vw,3rem);display:inline-block}.hm-contact__base{border-top:1px solid var(--hm-line);color:var(--hm-ink-soft);flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1.5rem;font-size:.875rem;display:flex}.sc-js [data-sc-reveal]{opacity:0;transition:opacity .7s var(--hm-ease), transform .7s var(--hm-ease);transform:translateY(20px)}.sc-js [data-sc-reveal].is-visible{opacity:1;transform:none}
