.grf-hero{background:var(--paper);color:var(--ink);padding:clamp(60px,8vw,110px) 0 clamp(72px,10vw,150px)}.grf-hero--dark{background:var(--black);color:#fff}.grf-hero__wrap{align-items:center;display:grid;gap:clamp(32px,5vw,80px);grid-template-columns:1.05fr .95fr;margin:0 auto;max-width:var(--maxw);padding:0 var(--gut)}.grf-hero__eyebrow{align-items:center;color:var(--grey);display:inline-flex;font-size:12px;font-weight:500;gap:10px;letter-spacing:.16em;margin-bottom:24px;text-transform:uppercase}.grf-hero--dark .grf-hero__eyebrow{color:var(--dim-dk)}.grf-hero__hc{display:inline-flex;gap:3px}.grf-hero__hc i{border-radius:2px;height:3px;width:15px}.grf-hero__hc i:first-child{background:var(--hot)}.grf-hero__hc i:last-child{background:var(--cold)}.grf-hero__title{font-size:clamp(44px,7vw,104px);font-weight:800;letter-spacing:-.04em;line-height:.98}.grf-hero__hl{position:relative;white-space:nowrap}.grf-hero__hl:after{background:linear-gradient(90deg,var(--hot) 0 50%,var(--cold) 50% 100%);bottom:.02em;content:"";height:.085em;left:0;position:absolute;right:0}.grf-hero__lead{color:var(--grey);font-size:clamp(16px,1.3vw,20px);line-height:1.55;margin-top:26px;max-width:46ch}.grf-hero--dark .grf-hero__lead{color:var(--dim-dk)}.grf-hero__cta{align-items:center;background:var(--ink);display:inline-flex;margin-top:36px;padding:14px 22px}.grf-hero--dark .grf-hero__cta{background:#fff}.grf-hero__cta-txt{color:#fff;font-size:14px;font-weight:700;letter-spacing:.02em}.grf-hero--dark .grf-hero__cta-txt{color:var(--ink)}.grf-hero__cta:hover{background:var(--cold)}.grf-hero__cta:hover .grf-hero__cta-txt{color:#fff}.grf-hero__stage{align-items:center;aspect-ratio:1.414/1;background:var(--paper-2);display:flex;justify-content:center;overflow:hidden;position:relative}.grf-hero--dark .grf-hero__stage{background:#141416}.grf-hero__img{display:block;height:auto;max-height:100%;max-width:100%;object-fit:contain;width:auto}@media (prefers-reduced-motion:no-preference){.grf-hero__img{animation:grf-hero-in .9s cubic-bezier(.16,1,.3,1) both}}@keyframes grf-hero-in{0%{filter:blur(10px);opacity:0;transform:scale(1.04)}to{filter:blur(0);opacity:1;transform:none}}@media (max-width:860px){.grf-hero__wrap{gap:36px;grid-template-columns:1fr}.grf-hero__media{order:-1}.grf-hero__title{font-size:clamp(40px,11vw,68px)}}