/* Practical benefits: same width as the preceding homepage slider. */
.gna-studio-section.gna-section-benefits{padding:0;margin-top:0;margin-bottom:var(--gna-section-spacing,42px);background:transparent;border-radius:0}
.gna-benefits-bar{box-sizing:border-box;width:100%;max-width:1120px;margin:0 auto;overflow:hidden;border:1px solid #ffffff12;border-top:2px solid var(--gna-benefits-accent,#ef1435);border-radius:12px;background:linear-gradient(115deg,#ffffff03,transparent 65%),var(--gna-benefits-bg,#1a1c21);color:var(--gna-benefits-color,#fff);box-shadow:0 8px 24px #00000018;padding:var(--gna-benefits-padding,22px) 12px}
.gna-benefits-wide .gna-benefits-bar{max-width:none}
.gna-benefits-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;align-items:stretch}
.gna-benefits-item{box-sizing:border-box;display:flex;gap:16px;align-items:center;min-width:0;padding:8px 22px;text-decoration:none!important;color:inherit;border-radius:4px;transition:background .2s ease}
.gna-benefits-item:not(:nth-child(4n + 1)){border-left:1px solid #ffffff26}
.gna-benefits-item.has-hover,.gna-benefits-bar.has-hover .gna-benefits-item:hover{background:linear-gradient(100deg,#ef143510,transparent)}
.gna-benefits-item:focus-visible{outline:2px solid var(--gna-benefits-accent);outline-offset:-2px}
.gna-benefits-icon{display:flex;align-items:center;justify-content:center;flex:0 0 var(--gna-benefits-icon,32px);color:var(--gna-benefits-accent,#ef1435)}
.gna-benefits-icon .gna-icon{width:var(--gna-benefits-icon,32px);height:var(--gna-benefits-icon,32px);color:inherit!important;stroke-width:1.7}
.gna-benefits-copy{min-width:0;display:flex;flex-direction:column;gap:7px;text-align:left;overflow-wrap:anywhere}
.gna-benefits-copy strong{font-size:var(--gna-benefits-title-size,14px);line-height:1.4;font-weight:600;color:var(--gna-benefits-color,#fff)}
.gna-benefits-copy>span{font-size:var(--gna-benefits-text-size,12px);line-height:1.55;color:var(--gna-benefits-color,#fff);opacity:.72}
.gna-section-hero:has(+.gna-benefits-attached),.gna-section-banner:has(+.gna-benefits-attached){margin-bottom:0!important}
.gna-section-hero:has(+.gna-benefits-attached) :is(.gna-hs,.gna-hp-slider,.gna-home-slider,.gna-hp-slide,.gna-hero,.gna-studio-banner),.gna-section-banner:has(+.gna-benefits-attached) :is(.gna-hs,.gna-hp-slider,.gna-home-slider,.gna-hp-slide,.gna-hero,.gna-studio-banner){margin-bottom:0!important;border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}
:is(.gna-section-hero,.gna-section-banner)+.gna-benefits-attached .gna-benefits-bar{border-top-left-radius:0;border-top-right-radius:0}
@media(max-width:1200px){.gna-benefits-item{padding-inline:14px;gap:12px}}
@media(min-width:761px) and (max-width:1024px){.gna-benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gna-benefits-item{padding:16px}.gna-benefits-item:nth-child(odd){border-left:0}.gna-benefits-item:nth-child(n + 3){border-top:1px solid #ffffff26}}
@media(max-width:760px){.gna-benefits-bar{padding:4px 14px}.gna-benefits-grid{grid-template-columns:minmax(0,1fr)}.gna-benefits-item{padding:16px 8px;gap:16px}.gna-benefits-item:not(:nth-child(4n + 1)){border-left:0}.gna-benefits-item+.gna-benefits-item{border-top:1px solid #ffffff26}.gna-benefits-copy{gap:4px}.gna-benefits-copy strong{font-size:13px}.gna-benefits-copy>span{font-size:12px}.gna-benefits-icon{flex-basis:30px}.gna-benefits-icon .gna-icon{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){.gna-benefits-item{transition:none}}

/* Only the main slider and practical benefits extend into the page gutters. */
.gna-home-edge-section{--gna-edge-left:20px;--gna-edge-right:20px}
.gna-home-premium .gna-studio-section.gna-home-edge-section,.gna-studio-home .gna-studio-section.gna-home-edge-section{margin-left:calc(-1 * var(--gna-edge-left));margin-right:calc(-1 * var(--gna-edge-right));width:calc(100% + var(--gna-edge-left) + var(--gna-edge-right));max-width:none;box-sizing:border-box}
.gna-home-edge-section .gna-benefits-bar{max-width:none}
@media(max-width:1024px){.gna-home-edge-section{--gna-edge-left:16px;--gna-edge-right:16px}}
@media(max-width:760px){.gna-home-edge-section{--gna-edge-left:12px;--gna-edge-right:12px}}

/* Saved section padding must not reintroduce gutters inside full-width areas. */
.gna-home-premium .gna-studio-section.gna-home-edge-section,
.gna-studio-home .gna-studio-section.gna-home-edge-section{padding-left:0!important;padding-right:0!important}
.gna-home-premium .gna-section-benefits.gna-benefits-attached,
.gna-studio-home .gna-section-benefits.gna-benefits-attached{padding:0!important;margin-top:0!important}
.gna-home-premium .gna-section-hero:has(+.gna-benefits-attached),
.gna-studio-home .gna-section-hero:has(+.gna-benefits-attached),
.gna-home-premium .gna-section-banner:has(+.gna-benefits-attached),
.gna-studio-home .gna-section-banner:has(+.gna-benefits-attached){padding-bottom:0!important;margin-bottom:0!important}

/* A fullscreen slider removes the host padding; its joined bar uses identical edges. */
body .gna-home .gna-app-content:has(.gna-hs-fullscreen) .gna-studio-section.gna-home-edge-section{margin-left:0!important;margin-right:0!important;width:100%;max-width:100%;box-sizing:border-box}

/* Configurable accent line: solid remains the existing default. */
.gna-benefits-bar{position:relative;border-top:0;padding-top:calc(var(--gna-benefits-padding,22px) + var(--gna-benefits-line-width,2px))}
.gna-benefits-bar::before{content:"";position:absolute;top:0;left:0;right:0;height:var(--gna-benefits-line-width,2px);background:var(--gna-benefits-accent,#ef1435);pointer-events:none}
.gna-benefits-bar.line-gradient::before,.gna-benefits-bar.line-animated::before{background-image:var(--gna-benefits-line-gradient);background-size:200% 100%;background-repeat:repeat-x}
.gna-benefits-bar.line-gradient::before{background-size:100% 100%}
.gna-benefits-bar.line-animated::before{animation:gna-benefits-line-flow var(--gna-benefits-line-duration,12s) linear infinite;animation-direction:var(--gna-benefits-line-direction,normal)}
@keyframes gna-benefits-line-flow{from{background-position:0% 0}to{background-position:200% 0}}
@media(max-width:760px){.gna-benefits-bar{padding-top:calc(4px + var(--gna-benefits-line-width,2px))}.gna-benefits-bar.line-animated:not(.line-mobile-animation)::before{animation:none;background-size:100% 100%}}
@media(prefers-reduced-motion:reduce){.gna-benefits-bar.line-animated::before{animation:none;background-size:100% 100%}}
