/* Homepage proportions follow the supplied GANTZ reference. */
.homepage .hero{position:relative;overflow:hidden;background:#eef0f2;height:clamp(335px,32.1vw,490px)}
.homepage .hero-photo{position:absolute;inset:0 0 0 36%;background:url('hero.png') center center/cover no-repeat;transform:scale(1.025);transform-origin:top center}
.homepage .hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f1f2f4 2%,#f1f2f4f2 23%,#f1f2f499 36%,transparent 57%);pointer-events:none}
.homepage .hero-content{position:relative;z-index:1;padding-block:clamp(28px,3vw,48px);padding-left:1%;}
.homepage .hero h1{font-size:clamp(43px,4.4vw,66px);line-height:1.04;letter-spacing:-.035em;margin:12px 0 13px;max-width:700px}
.homepage .hero-content>p{font-size:clamp(13px,1.25vw,18px);line-height:1.35;margin-bottom:0;max-width:490px}
.homepage .hero .eyebrow{font-size:clamp(10px,1.05vw,14px);letter-spacing:.3em}
.homepage .actions{margin:20px 0 0;gap:14px}.homepage .actions .button{min-height:40px;padding:11px 23px;font-size:12px}
.homepage .products{padding-block:23px 20px}.homepage .section-title{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:14px}
.homepage .section-title h2{margin:0}.homepage .section-title .text-link,.homepage .section-title>a{font-size:12px;flex-shrink:0}
.homepage .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.homepage .products article{background:#f2f3f4;display:flex;flex-direction:column}
.homepage .products article>img{width:100%;aspect-ratio:1.94;height:auto;object-fit:cover;display:block}
.homepage .products article>div{padding:19px 21px 18px;flex:1;display:flex;flex-direction:column}
.homepage .products h3{font-size:clamp(17px,1.65vw,23px);line-height:1.2;letter-spacing:-.025em;margin-bottom:9px}
.homepage .products p{font-size:clamp(13px,1.2vw,16px);line-height:1.4;margin-bottom:12px;flex:1}
.homepage .products .text-link{font-size:12px;align-self:flex-start}
.homepage .service{display:grid;grid-template-columns:52% 48%;background:#eff0f2}
.homepage .service>img{width:100%;height:100%;min-height:235px;object-fit:cover}
.homepage .service>div{padding:28px 10% 26px 11%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.homepage .service h2{margin-bottom:10px}.homepage .service p{font-size:clamp(13px,1.2vw,16px);line-height:1.4;margin-bottom:18px;max-width:480px}
.homepage .service .button{font-size:12px;min-height:37px;padding:9px 20px}
.homepage .reasons{padding-block:25px 27px}.homepage .reasons h2{margin-bottom:19px}
.homepage .reasons-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.homepage .reasons-grid>div{border-right:1px solid #dce0e3;padding:0 24px}.homepage .reasons-grid>div:first-child{padding-left:0}.homepage .reasons-grid>div:last-child{border:0;padding-right:0}
.homepage .reasons-grid span{color:#7c858f;font-size:16px}.homepage .reasons-grid h3{font-size:clamp(16px,1.5vw,21px);margin:2px 0 6px;letter-spacing:-.03em}
.homepage .reasons-grid p{font-size:clamp(13px,1.17vw,16px);line-height:1.4;margin:0}
.homepage .projects{background:#f0f1f3}.homepage .projects>.wrap{padding-block:23px 18px}
.homepage .gallery a{display:block;overflow:hidden}.homepage .gallery img{display:block;width:100%;aspect-ratio:2.08;object-fit:cover;transition:transform .25s}.homepage .gallery a:hover img{transform:scale(1.025)}
.homepage .image-note{font-size:11px;margin:12px 0 0;color:#59626d;line-height:1.4}
@media(min-width:1600px){.homepage .hero-content{padding-top:50px}}
@media(max-width:960px){.homepage .hero h1{font-size:45px}.homepage .hero-content>p{font-size:14px}.homepage .hero .actions .button{padding-inline:18px}.homepage .service>div{padding:25px 8%}.homepage .reasons-grid>div{padding-inline:16px}}
@media(max-width:700px){.homepage .hero{height:auto;min-height:0;padding-top:230px;display:flex;flex-direction:column;background:#f0f2f3}.homepage .hero-photo{inset:0 0 auto 0;height:248px;background-position:center 44%;transform:none}.homepage .hero:after{background:linear-gradient(0deg,#f0f2f3 0%,#f0f2f3 47%,transparent 68%)}.homepage .hero-content{padding:24px 0 30px;width:calc(100% - 36px)}.homepage .hero h1{font-size:43px;max-width:100%}.homepage .hero .eyebrow{font-size:11px}.homepage .hero-content>p{font-size:16px;max-width:100%;line-height:1.5}.homepage .desktop{display:none}.homepage .actions{margin-top:22px}.homepage .actions .button{min-height:46px;font-size:13px;flex:1;padding-inline:14px}.homepage .hero-photo{clip-path:inset(0 0 6px 0)}.homepage .products{padding-block:30px}.homepage .section-title{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:22px}.homepage .grid{grid-template-columns:1fr;gap:22px}.homepage .products article>div{padding:23px}.homepage .products h3{font-size:22px}.homepage .products p{font-size:16px}.homepage .products .text-link{font-size:14px}.homepage .service{grid-template-columns:1fr}.homepage .service>img{min-height:0;height:auto;aspect-ratio:1.95}.homepage .service>div{padding:30px 18px}.homepage .service p{font-size:16px;max-width:none}.homepage .service .button{font-size:14px;min-height:44px}.homepage .reasons{padding-block:32px}.homepage .reasons-grid{grid-template-columns:1fr 1fr;gap:26px 22px}.homepage .reasons-grid>div,.homepage .reasons-grid>div:first-child,.homepage .reasons-grid>div:last-child{padding:0;border:0}.homepage .reasons-grid h3{font-size:18px}.homepage .reasons-grid p{font-size:14px}.homepage .projects>.wrap{padding-block:30px}.homepage .gallery{gap:15px}.homepage .image-note{font-size:12px}.homepage .section-title .text-link{font-size:13px}}
@media(prefers-reduced-motion:reduce){.homepage .gallery img{transition:none}.homepage .gallery a:hover img{transform:none}}
.homepage .hero-photo{transform:scale(1.08);transform-origin:top center}@media(max-width:700px){.homepage .hero-photo{transform:scale(1.08);transform-origin:top center}}
.homepage .section-title>a{color:#006e3d;font-weight:600}

.homepage .hero-content>p{max-width:410px}.homepage .products-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(min-width:701px) and (max-width:1000px){.homepage .products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.homepage .products-grid{grid-template-columns:1fr}}

@media(min-width:1001px){.homepage .products-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.homepage .products-grid>article{grid-column:span 2}.homepage .products-grid>article:nth-child(n+4){grid-column:span 3}}
