
.grc-main { background:#fff; overflow:hidden; }
.grc-container { width:min(calc(100% - 64px), 1216px); margin-inline:auto; }
.grc-kicker { display:inline-flex; align-items:center; gap:8px; color:#248E41; font-size:10px; line-height:1; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.grc-kicker::before { content:""; width:18px; height:2px; border-radius:999px; background:currentColor; }
.grc-line { width:50px; height:3px; margin-top:14px; background:#248E41; border-radius:999px; }
.grc-line--center { margin-inline:auto; }
.grc-title, .grc-section h2, .grc-service-card h3, .grc-approach-card h3, .grc-why-card h3 { color:#171c23; }
.grc-title { margin:0; max-width:620px; font-size:clamp(42px,4.8vw,60px); line-height:1.02; letter-spacing:-.05em; font-weight:700; }
.grc-section { position:relative; padding:72px 0; border-top:1px solid #edf1f3; background:#fff; }
.grc-heading-block { max-width:760px; }
.grc-heading-block h2, .grc-heading-center h2, .grc-why-panel h2 { margin:0; font-size:clamp(31px,3vw,40px); line-height:1.1; letter-spacing:-.04em; font-weight:700; }
.grc-heading-block p, .grc-heading-center p, .grc-why-panel p { color:#68778b; font-size: 15px; line-height:1.75; }
.grc-heading-center { max-width:760px; margin:0 auto 34px; text-align:center; }
.grc-heading-center .grc-kicker { justify-content:center; }
.grc-subtitle { margin:14px 0 10px !important; color:#202a3c !important; font-size:23px !important; line-height:1.2 !important; font-weight:600 !important; letter-spacing:-.03em; }
.grc-button { min-height:46px; padding:0 18px; display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:8px; border:1px solid transparent; text-decoration:none; font-size:13px; line-height:1; font-weight:600; transition:transform .22s ease, box-shadow .22s ease, background-color .22s ease, color .22s ease, border-color .22s ease; }
.grc-button:hover, .grc-button:focus-visible { transform:translateY(-1px); outline:none; }
.grc-button--primary { color:#fff; background:#248E41; box-shadow:0 14px 24px rgba(36,147,65,.18); }
.grc-button--primary:hover, .grc-button--primary:focus-visible { background:#248E41; }
.grc-button--secondary { color:#248E41; background:#fff; border-color:#cae8d3; }
.grc-button--secondary:hover, .grc-button--secondary:focus-visible { background:#f5fbf7; }
.grc-hero { padding:58px 0 44px; }
.grc-hero-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:48px; align-items:center; }
.grc-hero-copy > .grc-kicker { min-height:28px; padding:0 10px; background:#f1fbf4; border:1px solid #d8edde; border-radius:999px; }
.grc-hero-copy > .grc-kicker::before { width:5px; height:5px; border-radius:50%; }
.grc-hero-copy > p:last-of-type { max-width:590px; margin:18px 0 24px; color:#617085; font-size: 15px; line-height:1.72; }
.grc-hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.grc-hero-image img, .grc-services-visual img, .grc-process-visual img { width:100%; height:auto; display:block; border:1px solid #e5ece8; border-radius:18px; box-shadow:0 18px 36px rgba(17,32,24,.10); }
.grc-hero-image img { animation:grcFloat 7s ease-in-out 1s infinite alternate; }
@keyframes grcFloat { to { transform:translateY(-6px); } }
.grc-values { padding:0 0 8px; }
.grc-values-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.grc-value-card { min-height:132px; padding:22px 18px 18px; background:#fff; border:1px solid #e6edef; border-radius:14px; box-shadow:0 10px 20px rgba(15,38,28,.04); }
.grc-value-card h2 { margin:0 0 8px; font-size:16px; line-height:1.3; font-weight:700; }
.grc-value-card p { margin:0; color:#6d7a8d; font-size:13px; line-height:1.58; }
.grc-section--intro { padding-top:68px; padding-bottom:64px; }
.grc-section--services, .grc-section--why { background:#f8fafb; }
.grc-services-visual { max-width:980px; margin:0 auto 32px; }
.grc-services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.grc-service-card { min-height:172px; padding:20px 18px 18px; background:#fff; border:1px solid #e5ebee; border-radius:14px; transition:transform .24s ease, border-color .24s ease, box-shadow .24s ease; }
.grc-service-card:hover { transform:translateY(-3px); border-color:#d4e5d9; box-shadow:0 14px 24px rgba(15,38,28,.06); }
.grc-service-card h3 { margin:0 0 8px; font-size:16px; line-height:1.35; letter-spacing:-.02em; font-weight:700; }
.grc-service-card p { margin:0; color:#6d7a8d; font-size:13px; line-height:1.62; }
.grc-process-visual { max-width:1120px; margin:0 auto 34px; }
.grc-approach-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.grc-approach-card { min-height:170px; padding:18px 16px 16px; background:#fff; border:1px solid #e7edef; border-radius:13px; }
.grc-approach-card span { display:inline-grid; place-items:center; width:34px; height:34px; margin-bottom:14px; color:#248E41; background:#ecf9f0; border-radius:9px; font-size:11px; line-height:1; font-weight:700; }
.grc-approach-card h3 { margin:0 0 8px; font-size:16px; line-height:1.3; font-weight:700; }
.grc-approach-card p { margin:0; color:#6f7d90; font-size:13px; line-height:1.58; }
.grc-why-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:28px; align-items:start; }
.grc-why-panel { min-height:100%; padding:30px 28px; border-radius:18px; background:linear-gradient(135deg,#101825 0%, #162233 100%); box-shadow:0 18px 32px rgba(15,24,37,.12); }
.grc-why-panel .grc-kicker { color:#68d38e; }
.grc-why-panel .grc-line { background:#248E41; }
.grc-why-panel h2 { color:#fff; margin-top:8px; }
.grc-why-panel p { margin:16px 0 0; color:rgba(255,255,255,.72); font-size: 15px; line-height:1.74; }
.grc-why-cards { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.grc-why-card { min-height:122px; padding:18px 16px; background:#fff; border:1px solid #e6edef; border-radius:14px; }
.grc-why-card h3 { margin:0 0 8px; font-size:16px; line-height:1.3; font-weight:700; }
.grc-why-card p { margin:0; color:#6d7a8d; font-size:13px; line-height:1.58; }
.service-menu-item.current-service { background:#f6fbf8; border:1px solid #d9e9df; }
.grc-reveal { opacity:0; transform:translateY(24px); transition:opacity .72s cubic-bezier(.22,.61,.36,1), transform .72s cubic-bezier(.22,.61,.36,1); }
.grc-reveal--left { transform:translateX(-24px); }
.grc-reveal--right { transform:translateX(24px); }
.grc-reveal.is-visible { opacity:1; transform:translate3d(0,0,0); }
[data-grc-delay="1"] { transition-delay:.08s; }
[data-grc-delay="2"] { transition-delay:.16s; }
[data-grc-delay="3"] { transition-delay:.24s; }
@media (max-width:1100px) { .grc-hero-grid, .grc-why-grid { grid-template-columns:1fr; } .grc-values-grid { grid-template-columns:repeat(2,1fr); } .grc-approach-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:860px) { .grc-container { width:min(calc(100% - 40px), 1216px); } .grc-services-grid { grid-template-columns:repeat(2,1fr); } .grc-why-cards { grid-template-columns:1fr; } }
@media (max-width:620px) { .grc-container { width:calc(100% - 30px); } .grc-section { padding:56px 0; } .grc-hero { padding:38px 0 32px; } .grc-values-grid, .grc-services-grid, .grc-approach-grid { grid-template-columns:1fr; } .grc-subtitle { font-size:20px !important; } .grc-hero-actions { flex-direction:column; } .grc-button { width:100%; } }
@media (prefers-reduced-motion: reduce) { .grc-reveal { opacity:1 !important; transform:none !important; transition:none !important; } .grc-hero-image img { animation:none !important; } }
