.csg { color: #102833; background: #fff; }
.csg h1, .csg h2 { font-family: "Source Serif 4", Georgia, serif; color: #062f46; letter-spacing: -0.03em; }
.csg h1 { font-size: clamp(36px, 5vw, 60px); line-height: 1.05; margin: 8px 0 16px; }
.csg h2 { font-size: clamp(30px, 4vw, 42px); line-height: 1.12; margin: 0 0 14px; }
.csg p, .csg li { color: #3e5663; line-height: 1.7; }
.csg-kicker { margin: 0; color: #006b3c; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; font-size: 13px; }
.csg-lead { font-size: 20px; color: #062f46; }
.csg-hero, .csg-band, .csg-points, .csg-related, .csg-note {
    box-sizing: border-box;
    padding: 72px max(20px, calc((100% - 1120px) / 2));
}
.csg-hero { display: grid; grid-template-columns: 1.1fr .9fr; gap: 40px; align-items: center; background: linear-gradient(165deg, #f3f7fa, #fff 62%); }
.csg-hero img { width: 100%; height: 480px; object-fit: cover; border-radius: 32px; }
.csg-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.csg .csx-btn, .csg .csx-btn-ghost { min-height: 48px; padding: 12px 20px; justify-content: center; font-size: 15px; }
.csg-band { background: #f6f9f8; }
.csg-tone-restaurant .csg-hero { background: linear-gradient(165deg, #f4f8f3, #fff 60%); }
.csg-tone-plant .csg-hero { background: linear-gradient(165deg, #e7eef3, #fff 60%); }
.csg-tone-catering .csg-hero { background: linear-gradient(165deg, #f7f3ea, #fff 60%); }
.csg-tone-bakery .csg-hero { background: linear-gradient(165deg, #f8f1ee, #fff 60%); }
.csg-tone-truck .csg-hero { background: linear-gradient(165deg, #eef6f1, #fff 60%); }
.csg-tone-retail .csg-hero { background: linear-gradient(165deg, #eef3f8, #fff 60%); }
.csg-tone-import .csg-hero { background: linear-gradient(165deg, #e8eef2, #fff 60%); }
.csg-tone-restaurant .csg-hero img { border-radius: 28px 120px 28px 28px; }
.csg-tone-plant .csg-hero img { border-radius: 8px; }
.csg-tone-catering .csg-hero img { border-radius: 80px 28px 80px 28px; }
.csg-tone-bakery .csg-hero img { border-radius: 140px 28px 28px 28px; }
.csg-tone-truck .csg-hero img { border-radius: 28px; }
.csg-tone-retail .csg-hero img { border-radius: 28px 28px 80px 28px; }
.csg-tone-import .csg-hero img { border-radius: 28px 28px 28px 100px; }
.csg-blocks { box-sizing: border-box; padding: 28px max(20px, calc((100% - 1120px) / 2)) 72px; background: #f6f9f8; }
.csg-block-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: stretch; }
.csg-block-grid article { background: #fff; border: 1px solid rgba(6,47,70,.1); border-top: 4px solid #006b3c; border-radius: 18px; padding: 22px 22px 18px; height: 100%; }
.csg-block-grid h2 { font-size: 26px; line-height: 1.2; margin: 0 0 10px; }
.csg-block-grid p { margin: 0 0 10px; }
.csg-block-grid p:last-child { margin-bottom: 0; }
.csg-points { background: #fff; }
.csg-points ul { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; list-style: none; margin: 0; padding: 0; }
.csg-points li { background: #f7faf8; border-left: 4px solid #006b3c; border-radius: 14px; padding: 16px 18px; color: #062f46; font-weight: 650; }
.csg-related { background: #f3f7fa; }
.csg-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.csg-cards a { display: flex; align-items: center; min-height: 72px; padding: 16px 18px; background: #fff; color: #062f46; text-decoration: none; font-weight: 700; border: 1px solid rgba(6,47,70,.1); border-radius: 16px; }
.csg-cards a:hover, .csg-cards a[aria-current="page"] { background: #062f46; color: #fff; }
.csg-offer { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.csg-offer a, .csg-offer article { display: block; background: #fff; border: 1px solid rgba(6,47,70,.1); border-radius: 16px; padding: 18px; text-decoration: none; }
.csg-offer h3 { margin: 0 0 8px; color: #062f46; font-size: 22px; }
.csg-offer a:hover { box-shadow: 0 12px 28px rgba(6,47,70,.08); }
.csg-points strong { display: block; color: #062f46; margin-bottom: 4px; }
.csg-points ol { display: grid; gap: 12px; list-style: none; margin: 0; padding: 0; counter-reset: step; }
.csg-points ol li { background: #f7faf8; border-left: 4px solid #006b3c; border-radius: 14px; padding: 16px 18px; counter-increment: step; }
.csg-points ol li::before { content: counter(step, decimal-leading-zero); display: block; color: #b42318; font-weight: 800; margin-bottom: 6px; }
.csg-faq { box-sizing: border-box; padding: 72px max(20px, calc((100% - 1120px) / 2)); background: #f6f9f8; }
.csg-faq details { background: #fff; border: 1px solid rgba(6,47,70,.1); border-radius: 14px; padding: 4px 16px; margin: 10px 0; }
.csg-faq summary { cursor: pointer; font-weight: 700; color: #062f46; padding: 14px 0; }
.csg-sources a { color: #006b3c; font-weight: 700; margin-right: 14px; }
.csg-note { background: #fff; }
.csg-note p { margin: 0; font-size: 15px; }
.csg-cta { margin: 28px auto 56px; width: min(1120px, calc(100% - 40px)); padding: 40px; border-radius: 28px; background: linear-gradient(135deg, #062f46, #0a4a38); }
.csg-cta h2 { color: #fff; }
.csg-cta .csx-btn-ghost { color: #fff; border-color: rgba(255,255,255,.45); background: transparent; }
@media (max-width: 900px) {
    .csg-hero, .csg-points ul, .csg-cards, .csg-offer, .csg-block-grid { grid-template-columns: 1fr; }
    .csg-hero img { height: 300px; }
    .csg-actions .csx-btn { width: 100%; }
}
@media (max-width: 390px) {
    .csg h1 { font-size: 32px; }
    .csg h2 { font-size: 28px; }
}
