/* CRG Catalog homepage */
.crg-home{--crg-green:#009b64;--crg-green-dark:#007a4f;--crg-blue:#4123f5;--crg-purple:#a5a0ff;--crg-yellow:#ffd25f;--crg-ink:#3c3c3c;--crg-cream:#f0f0e6;--crg-line:#e3e3dc;--crg-radius:14px;color:var(--crg-ink);overflow:hidden}
.crg-home *,.crg-home *::before,.crg-home *::after{box-sizing:border-box}
.crg-home section{padding:0 16px}
.crg-home .crg-hero__inner,.crg-home .crg-cards__grid,.crg-home .crg-home__seo,.crg-home .crg-section__head,.crg-home .crg-carousel,.crg-home .crg-steps__list,.crg-home .crg-about__inner,.crg-home .crg-blog__grid{max-width:1200px;margin-left:auto;margin-right:auto}
.crg-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 18px}
.crg-section__title{margin:0;font-size:clamp(24px,3vw,34px);line-height:1.15}
.crg-section__title--center{text-align:center;margin-bottom:24px}
.crg-section__more{font-weight:600;color:var(--crg-green);text-decoration:none;white-space:nowrap}
.crg-section__more:hover{text-decoration:underline}
.crg-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 20px;border-radius:10px;border:2px solid var(--crg-green);background:#fff;color:var(--crg-green);font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.crg-btn:hover{background:var(--crg-cream);text-decoration:none;color:var(--crg-green-dark)}
.crg-btn--primary{background:var(--crg-green);color:#fff}
.crg-btn--primary:hover{background:var(--crg-green-dark);color:#fff}
.crg-btn--lg{height:54px;padding:0 28px;font-size:18px}

/* hero */
.crg-hero{background:linear-gradient(180deg,#fff 0%,var(--crg-cream) 100%);padding-top:36px!important;padding-bottom:36px!important}
.crg-hero__inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:32px;align-items:center}
.crg-hero__title{margin:0 0 14px;font-size:clamp(34px,5vw,58px);line-height:1.05}
.crg-hero__text{margin:0 0 22px;font-size:clamp(16px,1.6vw,20px);line-height:1.5;max-width:560px}
.crg-hero__art{position:relative;height:340px}
.crg-hero__coverlink{position:absolute;width:56%;border-radius:12px;overflow:hidden;box-shadow:0 14px 30px rgba(60,60,60,.18);transition:transform .25s}
.crg-hero__coverlink:hover{transform:translateY(-4px)}
.crg-hero__coverlink--0{left:22%;top:0;z-index:3;transform:rotate(-2deg)}
.crg-hero__coverlink--1{left:0;top:22%;z-index:2;transform:rotate(-7deg)}
.crg-hero__coverlink--2{right:0;top:28%;z-index:1;transform:rotate(6deg)}
.crg-hero__cover{display:block;width:100%;height:auto}

/* cards */
.crg-cards{padding-top:36px!important}
.crg-cards__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.crg-cards__card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:150px;padding:28px 18px;border-radius:var(--crg-radius);background:#fff;border:2px solid var(--crg-line);text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s,border-color .2s}
.crg-cards__title::after{content:"\2192";display:inline-block;margin-left:8px;color:var(--crg-green);transition:transform .2s}
.crg-cards__card:hover .crg-cards__title::after{transform:translateX(4px)}
.crg-cards__card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(60,60,60,.12);border-color:var(--crg-green);text-decoration:none;color:inherit}
.crg-cards__card--grade{background:#eef0ff}.crg-cards__card--subject{background:#e6f6ef}.crg-cards__card--game{background:#fff6da}.crg-cards__card--type{background:#f1efff}
.crg-cards__img{width:150px;height:150px;object-fit:contain;border-radius:50%;background:#fff;margin:0 0 14px;mix-blend-mode:multiply}
.crg-cards__img--empty{display:block}
.crg-cards__title{font-size:20px;font-weight:700;margin:0 0 6px}
.crg-cards__text{font-size:14px;line-height:1.4;opacity:.8}
.crg-home__seo{margin:22px auto 0;font-size:15px;line-height:1.55;text-align:center;max-width:860px;opacity:.85}

/* carousel */
.crg-featured{padding-top:44px!important}
.crg-carousel{position:relative;display:flex;align-items:center;gap:8px}
.crg-carousel__track{display:flex;gap:20px;list-style:none;margin:0;padding:4px 2px 12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;flex:1;min-width:0}
.crg-carousel__track::-webkit-scrollbar{display:none}
.crg-carousel__item{flex:0 0 calc((100% - 60px)/4);scroll-snap-align:start;margin:0}
.crg-carousel__link{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--crg-line);border-radius:12px;padding:12px;height:100%;transition:transform .2s,box-shadow .2s}
.crg-carousel__link:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(60,60,60,.12);text-decoration:none;color:inherit}
.crg-carousel__img{display:block;width:100%;height:auto;border-radius:8px}
.crg-carousel__name{display:block;margin:10px 0 6px;font-size:15px;line-height:1.35;font-weight:600;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.crg-carousel__price{display:block;font-weight:700}
.crg-carousel__price del{opacity:.55;font-weight:400;margin-right:6px}
.crg-carousel__btn{flex:0 0 44px;width:44px;height:44px;border-radius:50%;border:2px solid var(--crg-line);background:#fff;font-size:28px;line-height:1;cursor:pointer;color:var(--crg-ink);display:grid;place-items:center}
.crg-carousel__btn:hover{border-color:var(--crg-green);color:var(--crg-green)}
.crg-carousel__btn[disabled]{opacity:.35;cursor:default}

/* steps */
.crg-steps{padding-top:48px!important}
.crg-steps__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;margin:0;padding:0;counter-reset:step}
.crg-steps__item{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:22px 16px;border-radius:var(--crg-radius);background:var(--crg-cream);position:relative}
.crg-steps__item::before{counter-increment:step;content:counter(step);position:absolute;top:12px;left:14px;width:26px;height:26px;border-radius:50%;background:#fff;border:2px solid var(--crg-ink);font-size:13px;font-weight:700;display:grid;place-items:center}
.crg-steps__label{font-size:18px;font-weight:700}

/* about */
.crg-about{padding-top:48px!important}
.crg-about__inner{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:32px;align-items:center;background:#fff;border:2px solid var(--crg-line);border-radius:var(--crg-radius);padding:28px}
.crg-about__photo{margin:0}
.crg-about__img{display:block;width:100%;height:auto;border-radius:var(--crg-radius)}
.crg-about__copy p{font-size:16px;line-height:1.6;margin:0 0 12px}
.crg-about__links{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:6px}
.crg-about__faq{font-weight:600;color:var(--crg-green);text-decoration:none}
.crg-about__faq:hover{text-decoration:underline}

/* blog */
.crg-blog{padding-top:48px!important;padding-bottom:56px!important}
.crg-blog__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.crg-blog__card{background:#fff;border:1px solid var(--crg-line);border-radius:var(--crg-radius);overflow:hidden;display:flex;flex-direction:column}
.crg-blog__thumb{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--crg-cream)}
.crg-blog__thumb img{display:block;width:100%;height:100%;object-fit:cover}
.crg-blog__title{font-size:18px;line-height:1.3;margin:14px 16px 8px}
.crg-blog__title a{color:inherit;text-decoration:none}
.crg-blog__title a:hover{color:var(--crg-green)}
.crg-blog__excerpt{margin:0 16px 12px;font-size:14px;line-height:1.5;opacity:.85;flex:1}
.crg-blog__more{margin:0 16px 16px;font-weight:600;color:var(--crg-green);text-decoration:none}
.crg-blog__more:hover{text-decoration:underline}

@media (max-width:1023px){
	.crg-hero__inner{grid-template-columns:1fr;text-align:center}
	.crg-hero__text{margin-left:auto;margin-right:auto}
	.crg-hero__art{height:260px;width:100%;max-width:520px;margin:8px auto 0;justify-self:center}
	.crg-cards__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.crg-carousel__item{flex-basis:calc((100% - 20px)/2)}
	.crg-steps__list{grid-template-columns:1fr;gap:12px}
	.crg-about__inner{grid-template-columns:1fr;text-align:center}
	.crg-about__photo{max-width:260px;margin:0 auto}
	.crg-about__links{justify-content:center}
	.crg-blog__grid{grid-template-columns:1fr}
}
@media (max-width:600px){
	.crg-cards__grid{grid-template-columns:1fr 1fr;gap:12px}
	.crg-cards__card{padding:16px 10px}
	.crg-cards__img{width:110px;height:110px}
	.crg-cards__title{font-size:16px}
	.crg-cards__text{display:none}
	.crg-carousel__item{flex-basis:84%}
	.crg-carousel__btn{display:none}
	.crg-hero__art{height:210px}
}
