/* GNV's business card sets the offer: visible quality, gates, fences and railings. */
.hero .hero-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:40px 56px!important;padding-top:28px!important;padding-bottom:30px!important}
.hero .hero-eyebrow{font-size:11px!important;letter-spacing:1px;line-height:1.6;margin-bottom:20px;color:#b9bdc6}
.hero .hero-eyebrow:before{display:none}
.hero .hero-title{font-size:clamp(38px,3.6vw,50px)!important;line-height:1.12!important;font-weight:500;letter-spacing:-1.8px!important;max-width:600px;margin-bottom:0}
.hero .hero-title .line{display:block}
.hero .hero-title .fire-text{color:#b9bdc6!important}
.hero .hero-lead{max-width:490px;font-size:15px!important;line-height:1.75!important;margin-top:23px!important;margin-bottom:0;color:#b9bdc6}
.hero .hero-cta{margin-top:28px!important;gap:12px}
.hero .hero-media.brand-portfolio{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1.35fr 1fr;gap:12px;height:470px!important;aspect-ratio:auto!important;background:transparent;border-radius:0!important;overflow:visible!important}
.hero .hero-media.brand-portfolio:after{display:none}
.brand-project{position:relative;display:block;min-width:0;min-height:0;overflow:hidden;border-radius:18px;background:#171a20;text-decoration:none;color:#fff}
.brand-project-gate{grid-column:1/-1}
.brand-project img{display:block;width:100%;height:100%;object-fit:cover}
.brand-project>span{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:32px 16px 14px;background:linear-gradient(transparent,#000b);font-size:12px;line-height:1.4}
.brand-project b{font-weight:500}
.brand-project small{font:10px/1.4 'Geist Mono',monospace;white-space:nowrap;color:#e5e7eb}
.brand-project:hover img{filter:brightness(1.08)}
.hero .stats.brand-benefits{padding-top:23px!important}
.hero .brand-benefits>li>b{font-family:var(--f);font-size:17px!important;font-weight:500;line-height:1.3;min-height:23px;letter-spacing:0}
.hero .brand-benefits>li>span{font-size:12px!important;line-height:1.5;color:#989fae}
.services-grid .svc-list{grid-template-columns:1fr!important}
.services-grid .svc{min-height:0;padding:24px;align-items:center}
.services-grid a.svc-go{display:flex;align-items:center;justify-content:center;text-decoration:none}
.order .order-intro{max-width:460px}
@media(max-width:1050px) and (min-width:741px){.hero .hero-card{gap:32px!important}.hero .hero-title{font-size:40px!important}.hero .hero-media.brand-portfolio{height:420px!important}.brand-project>span{padding-inline:12px;font-size:11px}.brand-project small{font-size:9px}}
@media(max-width:740px){.hero .hero-card{display:flex!important;gap:28px!important;padding-top:18px!important;padding-bottom:26px!important}.hero .hero-title{font-size:37px!important;line-height:1.12!important;letter-spacing:-1.1px!important}.hero .hero-eyebrow{font-size:10px!important;margin-bottom:17px}.hero .hero-lead{font-size:14px!important;margin-top:19px!important;line-height:1.7!important}.hero .hero-cta .btn{font-size:12px!important;padding-inline:17px!important;min-height:46px!important}.hero .hero-media.brand-portfolio{width:100%;height:330px!important;gap:10px;flex:none}.brand-project{border-radius:14px}.brand-project>span{font-size:10px;padding:26px 11px 11px;align-items:flex-end}.brand-project small{font-size:9px}.brand-project-railing>span{flex-direction:column;align-items:flex-start;gap:3px}.hero .stats.brand-benefits{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:20px!important}.hero .brand-benefits>li{padding-inline:10px;gap:7px}.hero .brand-benefits>li:first-child{padding-left:0}.hero .brand-benefits>li>b{font-size:13px!important;min-height:18px}.hero .brand-benefits>li>span{font-size:10px!important}.services-grid .svc{padding:19px}}
@media(max-width:360px){.hero .hero-title{font-size:32px!important}.hero .hero-cta{gap:8px}.hero .hero-cta .btn{font-size:11px!important;padding-inline:13px!important}.hero .brand-benefits>li>b{font-size:11px!important}.hero .brand-benefits>li{padding-inline:8px}.hero .hero-media.brand-portfolio{height:290px!important}}
/* The order section already supplies the spacing before the footer. */
body:has(.hero)>.gnv-footer{margin-top:0}
.order{padding-bottom:64px}
@media(max-width:740px){.order{padding-bottom:40px}}
@media(max-width:740px){.hero .hero-title{font-size:32px!important;text-wrap:balance}.hero .hero-title .line{display:inline!important}}
@media(max-width:360px){.hero .hero-title{font-size:30px!important}.hero .stats.brand-benefits{grid-template-columns:1fr!important}.hero .brand-benefits>li{padding:12px 0;border:0}.hero .brand-benefits>li+li{border-top:1px solid #ffffff1a}.hero .brand-benefits>li>b{font-size:14px!important}.hero .brand-benefits>li>span{font-size:11px!important}}
