/* ============================================================ FEATURES — LAYOUT B Alternating rows: icon + title + text on left, visual on right. Even rows flip. More spacious, editorial feel. ============================================================ */ .features-b { padding: 6rem 0; background-color: var(--color-surface); transition: background-color 0.4s ease; } .features-b-header { text-align: center; margin-bottom: 5rem; } .features-b-header .section-subtitle { margin: 0 auto; } /* ── Each row ──────────────────────────────────────────── */ .features-b-row { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; padding: 3.5rem 0; border-top: 1px solid var(--color-border); } .features-b-row:last-child { border-bottom: 1px solid var(--color-border); } /* Flip even rows */ .features-b-row:nth-child(even) .features-b-text { order: 2; } .features-b-row:nth-child(even) .features-b-visual { order: 1; } /* ── Text side ─────────────────────────────────────────── */ .features-b-text {} .features-b-icon { width: 52px; height: 52px; background-color: var(--color-primary-soft); border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center; margin-bottom: 1.25rem; transition: background-color 0.3s ease; } .features-b-icon svg { width: 24px; height: 24px; stroke: var(--color-primary); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: stroke 0.3s ease; } .features-b-row:hover .features-b-icon { background-color: var(--color-primary); } .features-b-row:hover .features-b-icon svg { stroke: var(--color-btn-text); } .features-b-title { font-family: var(--font-heading); font-size: 1.6rem; font-weight: 800; color: var(--color-heading); margin-bottom: 0.75rem; line-height: 1.2; letter-spacing: -0.02em; } .features-b-desc { font-size: 0.95rem; color: var(--color-text-muted); line-height: 1.8; margin-bottom: 1.25rem; max-width: 420px; } .features-b-link { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.875rem; font-weight: 600; color: var(--color-primary); transition: gap 0.2s ease; } .features-b-link:hover { gap: 0.65rem; } .features-b-link svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; } /* ── Visual side: accent block with sub-points ─────────── */ .features-b-visual { background-color: var(--card-bg); border: 1px solid var(--card-border); border-radius: var(--radius-xl); padding: 2rem; display: flex; flex-direction: column; gap: 1rem; transition: border-color 0.3s ease; } .features-b-row:hover .features-b-visual { border-color: var(--card-hover-border); } .features-b-point { display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.75rem; border-radius: var(--radius-md); background-color: var(--color-surface); border: 1px solid var(--color-border); transition: border-color 0.2s ease; } .features-b-point:hover { border-color: var(--color-primary); } .features-b-point-dot { width: 8px; height: 8px; border-radius: 50%; background-color: var(--color-primary); flex-shrink: 0; margin-top: 6px; } .features-b-point-text { font-size: 0.875rem; color: var(--color-text); line-height: 1.6; } .features-b-point-text strong { color: var(--color-heading); font-weight: 700; display: block; margin-bottom: 0.1rem; font-size: 0.85rem; } /* ── Responsive ─────────────────────────────────────────── */ @media (max-width: 800px) { .features-b-row { grid-template-columns: 1fr; gap: 2rem; } .features-b-row:nth-child(even) .features-b-text, .features-b-row:nth-child(even) .features-b-visual { order: unset; } }