/* Approved lower homepage sections. Shared colors/type/container stay centralized. */
.genacol-brand-difference { background:var(--g-surface); border-top:1px solid rgba(0,75,72,.1); overflow:hidden; }
.genacol-brand-difference__grid { padding-block:clamp(56px,7vw,104px); display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr)); gap:clamp(20px,3vw,40px); align-items:stretch; }
.genacol-brand-difference__story { box-sizing:content-box; position:relative; background:var(--g-dark); color:var(--g-surface); border-radius:4px; padding:clamp(28px,3.5vw,48px); display:flex; flex-direction:column; justify-content:space-between; gap:40px; min-height:440px; overflow:hidden; }
.genacol-brand-difference__glow { position:absolute; inset:0; pointer-events:none; background:radial-gradient(60% 50% at 100% 0%,rgba(158,204,74,.2),rgba(0,75,72,0) 70%); }
.genacol-brand-difference__eyebrow { position:relative; font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--g-accent); }
.genacol-brand-difference__copy { position:relative; display:flex; flex-direction:column; gap:20px; }
.genacol-brand-difference h2 { font-weight:500; font-size:clamp(34px,3.6vw,54px); line-height:1; letter-spacing:-.02em; }
.genacol-brand-difference h2 em { font-style:italic; }
.genacol-brand-difference__copy p { font-size:16px; line-height:1.6; color:rgba(255,255,255,.9); max-width:480px; }
.genacol-brand-difference__stats { position:relative; display:flex; flex-wrap:wrap; gap:clamp(20px,3vw,40px); border-top:1px solid rgba(255,255,255,.2); padding-top:22px; }
.genacol-brand-difference__stats > div { display:flex; flex-direction:column; gap:2px; }
.genacol-brand-difference__stat-number { font-family:var(--g-font-heading); font-size:36px; font-weight:600; line-height:1; }
.genacol-brand-difference__stat-label { font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.8); }
.genacol-brand-difference__quality { background:var(--g-surface); border-radius:4px; padding:clamp(8px,1.5vw,20px) clamp(20px,2.6vw,36px); display:flex; flex-direction:column; justify-content:center; min-height:100%; }
.genacol-brand-difference__quality-label { font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--g-primary); padding:clamp(10px,1.4vw,18px) 0 4px; }
.genacol-brand-difference__feature { display:grid; grid-template-columns:72px minmax(0,1fr); gap:clamp(16px,2vw,28px); align-items:center; padding:clamp(18px,2.2vw,28px) 0; border-bottom:1px solid var(--g-border); flex:1; }
.genacol-brand-difference__feature:last-child { border-bottom:0; }
.genacol-brand-difference__icon { width:72px; height:72px; border-radius:50%; background:var(--g-surface-2); box-shadow:inset 0 0 0 1px rgba(0,75,72,.08); display:grid; place-items:center; }
.genacol-brand-difference__icon img { width:52px; height:52px; object-fit:contain; mix-blend-mode:multiply; }
.genacol-brand-difference__feature-copy { display:flex; flex-direction:column; gap:5px; min-width:0; }
.genacol-brand-difference__feature h3 { font-size:clamp(22px,2vw,27px); font-weight:600; line-height:1.1; color:var(--g-dark); }
.genacol-brand-difference__feature p { font-size:14.5px; line-height:1.55; color:var(--g-text-muted); }
.genacol-knowledge { background:var(--g-surface); }
.genacol-knowledge__inner { padding-block:clamp(56px,7vw,104px); display:flex; flex-direction:column; gap:clamp(32px,4vw,48px); }
.genacol-knowledge__header { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:20px; }
.genacol-knowledge__heading-group { display:flex; flex-direction:column; gap:14px; max-width:600px; }
.genacol-knowledge__heading-group p { font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--g-primary); }
.genacol-knowledge h2 { font-weight:500; font-size:clamp(40px,4.6vw,64px); line-height:1; letter-spacing:-.02em; color:var(--g-dark); }
.genacol-knowledge__all { font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--g-dark); display:inline-flex; align-items:center; gap:10px; border-bottom:1px solid var(--g-dark); padding-bottom:4px; }
a.genacol-knowledge__all:hover { color:var(--g-primary); border-color:var(--g-primary); }
.genacol-knowledge__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr)); gap:clamp(24px,3vw,48px); align-items:start; }
.genacol-knowledge__summaries { display:flex; flex-direction:column; border-top:1px solid rgba(0,75,72,.18); }
/* One article: it keeps the featured column's width (half, or full on narrow screens) with nothing beside it. */
.genacol-knowledge__grid--single { grid-template-columns:repeat(auto-fill,minmax(min(100%,max(380px,calc((100% - clamp(24px,3vw,48px)) / 2))),1fr)); }
.genacol-article { min-width:0; }
.genacol-article__link { display:grid; grid-template-columns:minmax(0,1fr) 110px; gap:20px; align-items:center; padding:18px 0; border-bottom:1px solid rgba(0,75,72,.18); color:var(--g-text); }
a.genacol-article__link:hover { color:var(--g-primary); }
.genacol-article__media { grid-column:2; grid-row:1; width:110px; height:110px; border-radius:3px; overflow:hidden; background:var(--g-surface-2); }
.genacol-article__media img { width:100%; height:100%; object-fit:cover; object-position:center; }
.genacol-article__copy { grid-column:1; grid-row:1; display:flex; flex-direction:column; gap:6px; min-width:0; }
.genacol-article__meta { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; }
.genacol-article__category { font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--g-primary); }
.genacol-article__preview { font-size:10.5px; color:var(--g-description-text); border:1px solid var(--g-border); padding:2px 5px; border-radius:var(--g-radius); }
.genacol-article h3 { font-size:24px; font-weight:600; line-height:1.1; color:var(--g-dark); }
.genacol-article__copy p { font-size:14px; line-height:1.5; color:var(--g-description-text); }
.genacol-article--featured .genacol-article__link { display:flex; flex-direction:column; align-items:stretch; gap:18px; padding:0; border:0; }
.genacol-article--featured .genacol-article__media { aspect-ratio:16/10; width:100%; height:auto; }
.genacol-article--featured .genacol-article__media img { object-position:center 30%; transition:transform 1.2s ease; }
.genacol-article--featured .genacol-article__media img:hover { transform:scale(1.03); }
.genacol-article--featured .genacol-article__copy { gap:8px; }
.genacol-article--featured h3 { font-size:clamp(28px,2.6vw,36px); }
.genacol-article--featured .genacol-article__copy p { font-size:15px; line-height:1.55; }
.genacol-article__missing { display:grid; place-items:center; height:100%; padding:12px; text-align:center; font-size:13px; color:var(--g-text-muted); }
.genacol-final-cta { position:relative; background:var(--g-dark); color:var(--g-surface); overflow:hidden; }
.genacol-final-cta__glow { position:absolute; inset:0; pointer-events:none; background:radial-gradient(50% 60% at 90% 90%,rgba(158,204,74,.18),rgba(0,75,72,0) 70%); }
.genacol-final-cta__grid { position:relative; padding-block:clamp(24px,3vw,40px); display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr)); gap:clamp(28px,4vw,64px); align-items:center; }
.genacol-final-cta__art { position:relative; }
.genacol-final-cta__photo { aspect-ratio:4/5; max-height:720px; border-radius:3px; overflow:hidden; box-shadow:0 40px 80px -30px rgba(0,0,0,.6); }
.genacol-final-cta__photo img { width:100%; height:100%; object-fit:cover; object-position:center 40%; }
.genacol-final-cta__range { position:absolute; right:clamp(-16px,-2vw,-28px); bottom:clamp(24px,3vw,40px); display:flex; flex-direction:column; gap:8px; background:rgba(255,255,255,.97); padding:12px; border-radius:3px; box-shadow:0 30px 60px rgba(0,0,0,.35); }
.genacol-final-cta__range-label { font-size:10.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--g-primary); }
.genacol-final-cta__products { display:flex; gap:8px; }
.genacol-final-cta__product { width:clamp(66px,8.5vw,112px); height:clamp(66px,8.5vw,112px); background:radial-gradient(70% 60% at 50% 35%,#FFFFFF,var(--g-surface-2)); border-radius:var(--g-radius); display:grid; place-items:center; overflow:hidden; padding:6px; }
.genacol-final-cta__product img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.genacol-final-cta__copy { display:flex; flex-direction:column; gap:28px; padding:clamp(8px,2vw,24px) 0; }
.genacol-final-cta__eyebrow { font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--g-accent); }
.genacol-final-cta h2 { font-weight:500; font-size:clamp(40px,5vw,74px); line-height:.94; letter-spacing:-.02em; }
.genacol-final-cta h2 em { font-style:italic; }
.genacol-final-cta__description { font-size:17px; line-height:1.6; color:rgba(255,255,255,.84); max-width:480px; }
.genacol-final-cta__actions { display:flex; flex-wrap:wrap; gap:12px; }
.genacol-final-cta__shop { box-sizing:content-box; display:inline-flex; align-items:center; gap:12px; background:var(--g-primary); color:#FFFFFF; padding:0 30px; height:58px; font-size:14.5px; font-weight:700; letter-spacing:.04em; border-radius:var(--g-radius); white-space:nowrap; box-shadow:0 16px 30px -14px rgba(158,204,74,.8); }
a.genacol-final-cta__shop:hover { background:var(--g-surface); color:var(--g-dark); }
.genacol-final-cta__store { box-sizing:content-box; display:inline-flex; align-items:center; gap:12px; border:1px solid rgba(255,255,255,.45); color:var(--g-surface); padding:0 28px; height:54px; font-size:14px; font-weight:700; letter-spacing:.04em; border-radius:var(--g-radius); }
a.genacol-final-cta__store:hover { border-color:var(--g-surface); color:var(--g-surface); }
.genacol-final-cta a:focus-visible { outline-color:var(--g-surface); }
.genacol-final-cta__reassurance { display:flex; flex-wrap:wrap; gap:clamp(16px,2.5vw,32px); font-size:13px; color:rgba(255,255,255,.75); border-top:1px solid rgba(255,255,255,.2); padding-top:20px; }
.genacol-mobile-shop, .genacol-mobile-shop-clearance { display:none; }
@media (max-width:759px) {
 .genacol-mobile-shop-clearance { display:block; height:calc(76px + env(safe-area-inset-bottom,0px)); }
 .genacol-mobile-shop { position:fixed; left:0; right:0; bottom:0; z-index:60; background:rgba(255,255,255,.96); backdrop-filter:blur(10px); border-top:1px solid var(--g-border); padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px)); display:flex; align-items:center; justify-content:space-between; gap:12px; }
 .genacol-mobile-shop__copy { display:flex; flex-direction:column; min-width:0; }
 .genacol-mobile-shop__copy > span:first-child { font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--g-description-text); font-weight:700; }
 .genacol-mobile-shop__copy > span:last-child { font-size:13px; color:var(--g-text); }
 .genacol-mobile-shop__cta { display:inline-flex; align-items:center; gap:10px; background:var(--g-primary); color:#FFFFFF; padding:0 22px; height:48px; font-size:13px; font-weight:700; letter-spacing:.04em; border-radius:var(--g-radius); flex:none; }
 .home .genacol-footer a { scroll-margin-bottom:calc(92px + env(safe-area-inset-bottom,0px)); }
}
@media (prefers-reduced-motion:reduce) { .genacol-article--featured .genacol-article__media img:hover { transform:none; } }
