/* SCHITAY CSS Phase 2: Homepage, catalog, category, semantic navigation, search, cards and grids. */

.hero {
position:relative; z-index:1; min-height:570px; overflow:visible; border-bottom:1px solid var(--line); background:radial-gradient(circle at 20% 10%,#fff 0,transparent 38%),var(--paper);
}
.hero-grid {
min-height:570px; display:grid; grid-template-columns:1.12fr .88fr; align-items:center; gap:34px;
}
.hero-decoration {
position:absolute; inset:0; overflow:hidden; pointer-events:none;
}
.hero-decoration-grid {
min-height:570px; display:grid; grid-template-columns:1.12fr .88fr; gap:34px;
}
.hero-copy {
position:relative; z-index:2; padding:48px 0 46px;
}
.hero h1 {
margin:19px 0 15px; max-width:740px; font-size:clamp(46px,4.4vw,64px); line-height:.94; letter-spacing:-.062em; font-weight:880;
}
.hero h1 em {
color: var(--violet); font-style: normal;
}
.hero-copy > p {
max-width: 650px; color: var(--muted); line-height: 1.65;
}
.hero-copy > .hero-slogan {
margin: 0 0 8px; color: var(--ink); font-size: 21px; font-weight: 780; letter-spacing: -.02em;
}
.hero-copy > .hero-description {
margin: 0 0 30px; font-size: 16px;
}
.search-wrap {
position: relative; z-index: 10; width:100%; max-width: 700px; min-width:0;
}
.search-box {
height: 68px; display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 10px; padding: 0 17px 0 21px; background: #fff; border: 1px solid #dcd8d0; border-radius: 18px; box-shadow: 0 12px 30px rgba(26, 23, 51, .08); transition: border .2s, box-shadow .2s;
}
.search-box:focus-within {
border-color: var(--violet); box-shadow: 0 14px 34px rgba(99, 62, 229, .13);
}
.search-box > span {
color: var(--violet); font-size: 28px; transform: rotate(-18deg);
}
.search-box input {
width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 16px;
}
.search-box input::placeholder {
color: #6f7078;
}
.search-box kbd {
padding: 6px 9px; border-radius: 9px; background: var(--soft-violet); color: var(--violet); font-family: inherit; font-size: 11px; font-weight: 800; white-space: nowrap;
}
.search-results {
position: absolute; top: calc(100% + 9px); left: 0; right: 0; z-index: 20; box-sizing:border-box; width:100%; max-width:100%; min-width:0; max-height: min(430px, 58svh); overflow-x:hidden; overflow-y: auto; overscroll-behavior: contain; padding: 9px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 18px 50px rgba(26, 23, 51, .16); scrollbar-width: thin; scrollbar-color: #b9afe4 transparent;
}
.search-results a {
display: grid; grid-template-columns: 40px minmax(0,1fr) auto; align-items: center; min-width:0; gap: 12px; padding: 11px 12px; border-radius: 12px;
}
.search-results a:hover,
.search-results a.is-active {
background: var(--soft-violet);
}
.search-results a > span:nth-child(2) {
display: flex; min-width: 0; flex-direction: column; gap: 3px;
}
.search-results strong {
min-width:0; overflow:visible; font-size: 13px; white-space:normal; overflow-wrap:anywhere; word-break:normal;
}
.search-results small {
color: var(--muted); font-size: 11px;
}
.search-results p {
margin: 0; padding: 18px; color: var(--muted); font-size: 13px;
}
.mini-icon {
width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: var(--soft-violet); color: var(--violet); font-size: 13px; font-weight: 850;
}
.quick-links {
display: flex; flex-wrap: wrap; gap: 9px 17px; margin-top: 18px; color: #686a74; font-size: 12px;
}
.quick-links a {
color: #4c4f5b; border-bottom: 1px dotted #aaa9b0;
}
.hero-visual {
position: relative; height: 100%; min-height: 560px;
}
.symbol-grid {
position: absolute; top: 84px; right: -20px; display: grid; grid-template-columns: repeat(2, 146px); gap: 13px; transform: rotate(-1deg);
}
.symbol {
height: 146px; display: grid; place-items: center; border-radius: 32px; font-size: 70px; font-weight: 350; box-shadow: 0 22px 45px rgba(45, 37, 86, .09);
}
.symbol.violet {
color: #fff; background: linear-gradient(145deg, #7654ed, #4c2cca);
}
.symbol.lime {
color: #171925; background: radial-gradient(circle at 30% 20%, #edff94, var(--lime));
}
.symbol.white {
color: #1d1e2a; background: rgba(255,255,255,.8); border: 1px solid #dedad2;
}
.symbol.ghost {
color: var(--violet); background: transparent; border: 1px dashed #8e74e9; box-shadow: none;
}
.orbit {
position: absolute; border: 1px dashed rgba(99, 62, 229, .38); border-radius: 50%;
}
.orbit-one {
width: 260px; height: 260px; top: -120px; left: -10px;
}
.orbit-two {
width: 130px; height: 130px; bottom: 25px; right: 88px;
}
.graph-line {
position: absolute; left: 25px; bottom: 70px; width: 270px; height: 95px; border-left: 1px solid rgba(99, 62, 229, .25); border-bottom: 1px solid rgba(99, 62, 229, .25); transform: skewY(-7deg);
}
.graph-line::after {
content: ""; position: absolute; inset: 14px 0 18px 0; border-top: 3px solid var(--violet); border-radius: 55% 20% 50% 30%; transform: skewY(15deg);
}
.graph-line i {
position: absolute; z-index: 2; width: 10px; height: 10px; border-radius: 50%; background: var(--violet);
}
.graph-line i:nth-child(1) {
left: 9%; top: 55%;
}
.graph-line i:nth-child(2) {
left: 47%; top: 44%;
}
.graph-line i:nth-child(3) {
right: 8%; top: 14%;
}
.section {
padding-top: 96px; padding-bottom: 96px;
}
.section-heading {
display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 42px;
}
.section-heading h2,
.trust-grid h2 {
margin: 10px 0 0; font-size: clamp(34px, 4vw, 50px); line-height: 1; letter-spacing: -.055em;
}
.section-heading > p {
max-width: 380px; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.65;
}
.featured-grid {
display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-flow:dense; gap: 16px;
}
.feature-card {
position:relative; min-width:0; display:flex; flex-direction:column; padding:22px; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:#fff; transition:transform .2s,border-color .2s,box-shadow .2s;
}
.feature-card:hover {
transform: translateY(-4px); border-color: #c9bfef; box-shadow: 0 18px 45px rgba(29, 23, 62, .08);
}
.feature-card:focus-visible {
outline:3px solid rgba(99,62,229,.32); outline-offset:3px;
}
.feature-card-accent {
grid-column:span 2; border-color:#bcaef0; background:linear-gradient(135deg,#f2edff,#fff 70%); box-shadow:inset 4px 0 0 var(--violet);
}
.feature-card-head {
display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:13px;
}
.feature-card-meta {
display:flex; min-width:0; align-items:center; flex-wrap:wrap; gap:7px;
}
.feature-icon {
width: 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; color: var(--violet); background: var(--soft-violet); font-size: 17px; font-weight: 850;
}
.feature-card-accent .feature-icon {
color:#fff; background:var(--violet);
}
.feature-category {
min-width:0; color:var(--violet); font-size:var(--text-xs); font-weight:850; letter-spacing:.055em; line-height:1.25; text-transform:uppercase;
}
.feature-card-meta small {
padding:5px 8px; border-radius:8px; color:#24212e; background:var(--lime); font-size:var(--text-xs); font-weight:850; letter-spacing:.04em; text-transform:uppercase;
}
.feature-card .round-arrow {
position:static; flex:0 0 auto;
}
.feature-card h3 {
margin:20px 0 9px; font-size:19px; line-height:1.22; letter-spacing:-.025em;
}
.feature-card p {
max-width:520px; margin:0; color:var(--muted); font-size:13px; line-height:1.55;
}
.categories-section {
background: #f3f1eb; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
}
.category-grid {
display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px;
}
.category-card {
position: relative; display: grid; grid-template-columns: 60px 1fr; align-items: start; gap: 18px; padding: 23px; border: 1px solid #e0ddd5; border-radius: 22px; background: rgba(255,255,255,.72); transition: transform .2s, background .2s, border-color .2s, box-shadow .2s;
}
.category-card:hover {
transform: translateY(-3px); background: #fff; border-color: #c8bfeb;
}
.category-card:focus-visible {
outline: 3px solid rgba(99,62,229,.32); outline-offset: 3px;
}
.categories-section .category-grid > .category-card:nth-child(3n+1),
.categories-section .category-grid > .category-card:nth-child(3n) {
border-color: #d5caef; background: linear-gradient(145deg,#f2edff,#faf8ff);
}
.categories-section .category-grid > .category-card:nth-child(3n+1):hover,
.categories-section .category-grid > .category-card:nth-child(3n+1):focus-visible,
.categories-section .category-grid > .category-card:nth-child(3n):hover,
.categories-section .category-grid > .category-card:nth-child(3n):focus-visible {
border-color: #ad9ae3; background: linear-gradient(145deg,#eee7ff,#fff); box-shadow: 0 16px 36px rgba(74,45,164,.09);
}
.categories-section .category-grid > .category-card:nth-child(3n+1) .category-icon,
.categories-section .category-grid > .category-card:nth-child(3n) .category-icon {
color: #fff; background: var(--violet);
}
.categories-section .category-grid > .category-card:nth-child(3n+1) .count,
.categories-section .category-grid > .category-card:nth-child(3n) .count {
color: var(--violet);
}
.categories-section .category-grid > .category-card:nth-child(3n+2) {
border-color: #cadb97; background: linear-gradient(145deg,#f1f8d9,#fbfdf4);
}
.categories-section .category-grid > .category-card:nth-child(3n+2):hover,
.categories-section .category-grid > .category-card:nth-child(3n+2):focus-visible {
border-color: #9eb765; background: linear-gradient(145deg,#ebf6c8,#fff); box-shadow: 0 16px 36px rgba(72,100,22,.09);
}
.categories-section .category-grid > .category-card:nth-child(3n+2) .category-icon {
color: var(--ink); background: var(--lime);
}
.categories-section .category-grid > .category-card:nth-child(3n+2) .count {
color: #4d6d16;
}
.lime-icon {
color: var(--ink); background: var(--lime);
}
.category-card .count {
color: var(--violet); font-size: 10px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase;
}
.category-card h3 {
margin: 8px 0 8px; padding-right: 24px; font-size: 19px; line-height: 1.15; letter-spacing: -.03em;
}
.category-card p {
margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55;
}
.round-arrow {
position: absolute; right: 18px; top: 18px; width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: #666873; font-size: 13px;
}
.home-catalog-cta {
display:flex; justify-content:center; margin-top:34px;
}
.home-catalog-cta a {
display:inline-flex; align-items:center; gap:9px; min-height:44px; padding:10px 16px; border:1px solid #cfc7ee; border-radius:13px; color:var(--violet); background:#fff; font-size:var(--text-sm); font-weight:800;
}
.home-catalog-cta a:hover {
border-color:var(--violet);
}
.trust-section {
padding: 96px 0; background: var(--ink); color: #fff;
}
.trust-grid {
display: grid; grid-template-columns: 1.2fr repeat(3, 1fr); gap: 42px;
}
.trust-grid .section-kicker {
color: var(--lime);
}
.trust-item {
padding-top: 8px; border-top: 1px solid rgba(255,255,255,.18);
}
.trust-item strong {
color: var(--lime); font-size: 11px;
}
.trust-item h3 {
margin: 25px 0 10px; font-size: 17px;
}
.trust-item p {
margin: 0; color: rgba(255,255,255,.58); font-size: 13px; line-height: 1.6;
}
.category-hero {
padding: 42px 0 62px; background: linear-gradient(145deg, #f4f0ff, #fbfaf6 65%); border-bottom: 1px solid var(--line);
}
.category-title-row {
display: flex; align-items: center; gap: 25px; margin-bottom: 34px;
}
.category-hero-icon {
width: 92px; height: 92px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 27px; color: #fff; background: linear-gradient(145deg, #7654ed, #4c2cca); box-shadow: 0 18px 40px rgba(99, 62, 229, .2); font-size: 32px; font-weight: 850;
}
.category-title-row h1 {
margin: 8px 0 10px; font-size: clamp(38px, 5vw, 64px); line-height: .98; letter-spacing: -.06em;
}
.category-title-row p {
max-width: 670px; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.6;
}
.category-hero .search-wrap {
max-width: 760px;
}
.calculator-list {
display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px;
}
.calculator-list > a {
min-height: 72px; display: grid; grid-template-columns: 40px 1fr 28px; align-items: center; gap: 13px; padding: 13px 17px; border: 1px solid var(--line); border-radius: 16px; background: #fff; transition: border-color .2s, transform .2s;
}
.calculator-list > a:hover {
transform: translateX(3px); border-color: #bfb1ee;
}
.calculator-list strong {
font-size: 13px; line-height: 1.35;
}
.back-catalog {
margin-top: 30px; text-align: center;
}
.back-catalog a {
color: var(--violet); font-size: 13px; font-weight: 750;
}
.category-showcase {
overflow: hidden;
  padding: 38px 0 54px;
  border-bottom: 1px solid var(--line);
  background: radial-gradient(circle at 82% 12%, rgba(217,248,76,.42), transparent 20%), linear-gradient(145deg, #f2edff, #fbfaf6 68%);
}
.category-showcase .breadcrumbs {
margin-bottom: 38px;
}
.category-showcase .search-wrap {
max-width: 760px; margin-top: 30px;
}
.category-showcase-grid {
display: grid; grid-template-columns: minmax(0,1fr) 330px; align-items: end; gap: 45px;
}
.category-showcase-title {
display: flex; align-items: flex-start; gap: 22px;
}
.category-showcase-icon {
width: 84px;
  height: 84px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 25px;
  color: #fff;
  background: linear-gradient(145deg, #7654ed,#4c2cca);
  box-shadow: 0 18px 42px rgba(99,62,229,.22);
  font-size: 30px;
  font-weight: 900;
}
.category-showcase h1 {
margin: 7px 0 12px; font-size: clamp(42px,5vw,66px); line-height: .95; letter-spacing: -.06em;
}
.category-showcase-title p {
max-width: 650px; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.65;
}
.category-showcase-stats {
display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
}
.category-showcase-stats > div {
min-height: 92px; padding: 18px; border: 1px solid rgba(99,62,229,.14); border-radius: 18px; background: rgba(255,255,255,.7);
}
.category-showcase-stats strong {
display: block; margin-bottom: 6px; color: var(--violet); font-size: 25px;
}
.category-showcase-stats span {
color: #626571; font-size: 11px;
}
.category-search {
position: relative;
  max-width: 760px;
  height: 64px;
  display: grid;
  grid-template-columns: 28px minmax(0,1fr) 32px;
  align-items: center;
  gap: 10px;
  margin-top: 30px;
  padding: 0 20px;
  border: 1px solid #d9d4cc;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(29,23,62,.07);
}
.category-search:focus-within {
border-color: var(--violet); box-shadow: 0 0 0 4px rgba(99,62,229,.1), 0 12px 32px rgba(29,23,62,.07);
}
.category-search > span:first-child {
color: var(--violet); font-size: 27px; transform: rotate(-18deg);
}
.category-search input {
width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 15px;
}
.category-search input::placeholder {
color: #6f7078;
}
.category-search-clear {
width: 32px; height: 32px; padding: 0; border: 0; border-radius: 10px; background: var(--soft-violet); color: var(--violet); cursor: pointer; font-size: 20px; line-height: 1;
}
.category-search-clear:hover {
background: #e7e0ff;
}
.category-content {
padding-top: 72px; padding-bottom: 80px;
}
.category-section-heading {
display: flex; align-items: end; justify-content: space-between; gap: 36px; margin-bottom: 30px;
}
.category-section-heading h2 {
margin: 8px 0 0; font-size: clamp(31px,4vw,44px); line-height: 1; letter-spacing: -.05em;
}
.category-section-heading > p {
max-width: 400px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6;
}
.category-ready-grid {
display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 14px;
}
.category-ready-grid.ready-count-1 {
grid-template-columns: minmax(0,390px);
}
.category-ready-card {
min-height: 245px;
  display: flex;
  flex-direction: column;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 23px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(29,23,62,.045);
  transition: transform .2s, border-color .2s;
}
.category-ready-card:hover {
transform: translateY(-3px); border-color: #c7b9f4;
}
.category-ready-card-accent {
color: #fff; border-color: transparent; background: linear-gradient(140deg,#6c47e7,#4728b9);
}
.category-ready-card-accent .ready-badge {
color: #1d2114; background: var(--lime);
}
.category-ready-card h3 {
margin: 28px 0 10px; font-size: 20px; line-height: 1.15; letter-spacing: -.03em;
}
.category-ready-card p {
margin: 0 0 24px; color: var(--muted); font-size: 12px; line-height: 1.55;
}
.category-ready-card-accent p {
color: #ece7ff;
}
.category-ready-link {
display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: auto; color: var(--violet); font-size: 12px; font-weight: 900;
}
.category-ready-card-accent .category-ready-link {
color: #fff;
}
.category-ready-section {
margin-bottom: 74px;
}
.category-task-groups {
display: grid; gap: 16px;
}
.category-task-group {
padding: 25px; border: 1px solid var(--line); border-radius: 23px; background: rgba(255,255,255,.72);
}
.category-task-head {
display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 17px;
}
.category-task-head h3 {
margin: 0; font-size: 18px; letter-spacing: -.02em;
}
.category-task-head span {
color: var(--muted); font-size: 10px; font-weight: 800; white-space: nowrap;
}
.category-task-links {
display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px;
}
.category-task-item {
min-height: 51px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 10px 0; border-top: 1px solid #ece9e3; font-size: 12px; line-height: 1.35;
}
.category-task-item:nth-child(-n+2) {
border-top: 0;
}
a.category-task-item:hover strong {
color: var(--violet);
}
.category-task-item strong {
min-width: 0; font-weight: 720;
}
.category-task-item.is-soon {
color: #555864;
}
.category-task-arrow {
color: var(--violet); font-size: 16px;
}
.category-empty-state {
margin-top: 16px; padding: 36px; border: 1px dashed #c7c1b7; border-radius: 18px; color: var(--muted); text-align: center; font-size: 13px;
}
.semantic-child-hero {
padding: 32px 0 44px; border-bottom: 1px solid var(--line); background: linear-gradient(145deg,#f6f2ff,#fbfaf6 70%);
}
.semantic-child-hero .breadcrumbs {
margin-bottom: 25px;
}
.semantic-child-hero__title {
max-width: 900px; display: flex; align-items: flex-start; gap: 18px;
}
.semantic-child-hero__title > div {
min-width: 0;
}
.semantic-child-hero__mark {
width: 58px; height: 58px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 18px; color: #fff; background: linear-gradient(145deg,#7654ed,#4c2cca); box-shadow: 0 13px 30px rgba(99,62,229,.18); font-size: 20px; font-weight: 900;
}
.semantic-child-context a {
color: inherit;
}
.semantic-child-context a:hover {
color: var(--violet);
}
.semantic-child-hero h1 {
margin: 7px 0 10px; font-size: clamp(32px,4vw,46px); line-height: 1.04; letter-spacing: -.045em;
}
.semantic-child-hero__title p {
max-width: 680px; margin: 0; color: var(--muted); font-size: var(--text-base); line-height: 1.6;
}
.semantic-child-metrics {
display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin-top: 14px; color: var(--muted); font-size: var(--text-xs);
}
.semantic-child-metrics strong {
color: var(--violet);
}
.semantic-child-hero .category-search {
margin-top: 24px;
}
.semantic-child-grid {
display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px;
}
.semantic-child-card {
min-width: 0; min-height: 174px; display: flex; flex-direction: column; padding: 22px; border: 1px solid var(--line); border-radius: 21px; background: #fff; box-shadow: 0 12px 30px rgba(29,23,62,.04); transition: transform .2s,border-color .2s,box-shadow .2s;
}
.semantic-child-card:hover {
transform: translateY(-2px); border-color: #c7b9f4; box-shadow: 0 16px 34px rgba(29,23,62,.07);
}
.semantic-child-card__header {
min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 14px;
}
.semantic-child-card__header strong {
min-width: 0; font-size: var(--text-lg); line-height: 1.25; overflow-wrap: normal; word-break: normal;
}
.semantic-child-card__arrow {
width: 30px; height: 30px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; color: var(--violet); background: var(--soft-violet); font-size: 16px;
}
.semantic-child-card p {
min-width: 0; margin: 12px 0 20px; color: var(--muted); font-size: var(--text-sm); line-height: 1.55; overflow-wrap: normal; word-break: normal;
}
.semantic-child-card small {
margin-top: auto; color: #666873; font-size: var(--text-xs); font-weight: 800;
}
.semantic-category-children + .semantic-direct-items {
margin-top: 72px;
}
.semantic-category-empty {
max-width: 680px; padding: 24px 26px; border: 1px dashed #c7c1b7; border-radius: 18px; background: rgba(255,255,255,.62);
}
.semantic-category-empty h2 {
margin: 7px 0 8px; font-size: var(--text-xl); line-height: 1.25; letter-spacing: -.025em;
}
.semantic-category-empty p {
margin: 0; color: var(--muted); font-size: var(--text-sm); line-height: 1.55;
}
.search-results a {
grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
}
.search-results a > strong {
grid-column: 1; grid-row: 1;
}
.search-results a > small {
grid-column: 1; grid-row: 2;
}
.search-results a > span {
grid-column: 2; grid-row: 1 / 3; color: var(--violet);
}
.search-empty {
margin: 0; padding: 17px; color: var(--muted); font-size: 13px;
}
.catalog-filter {
max-width: 760px;
  height: 60px;
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: center;
  gap: 10px;
  padding: 0 18px;
  border: 1px solid #dcd8d0;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(26,23,51,.06);
}
.catalog-filter > span {
color: var(--violet); font-size: 25px;
}
.catalog-filter input {
width: 100%; border: 0; outline: 0; background: transparent;
}
.calculator-list .catalog-item {
min-height: 72px;
  display: grid;
  grid-template-columns: 40px minmax(0,1fr) auto 28px;
  align-items: center;
  gap: 12px;
  padding: 13px 17px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  transition: border-color .2s, transform .2s;
}
.calculator-list a.catalog-item:hover {
transform: translateX(3px); border-color: #bfb1ee;
}
.catalog-item.is-soon {
grid-template-columns: 40px minmax(0,1fr) auto;
  background: rgba(255,255,255,.48);
  color: #63656f;
}
.ready-badge,
.soon-badge {
padding: 6px 8px;
  border-radius: 8px;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ready-badge {
color: #315206; background: #e8fbb1;
}
.soon-badge {
color: #5f6069; background: #ece9e3;
}
.not-found .search-wrap {
width: 100%;
}
@media (max-width: 1020px) {
.hero-grid {
grid-template-columns: 1fr;
}
.hero-visual {
display: none;
}
.hero-decoration {
display:none;
}
.hero {
min-height: auto;
}
.hero-grid {
min-height: auto;
}
.featured-grid {
grid-template-columns: repeat(2, 1fr);
}
.category-grid {
grid-template-columns: repeat(2, 1fr);
}
.trust-grid {
grid-template-columns: 1fr 1fr;
}
.category-showcase-grid {
grid-template-columns: 1fr;
}
.category-showcase-stats {
max-width: 390px;
}
.category-ready-grid {
grid-template-columns: 1fr 1fr;
}
.category-ready-grid.ready-count-3 .category-ready-card:first-child {
grid-column: 1 / -1;
}
}
@media (max-width: 720px) {
.hero-copy {
padding: 58px 0 54px;
}
.hero h1 {
margin-top: 18px; font-size: 43px;
}
.hero-copy > .hero-slogan {
font-size: 18px;
}
.hero-copy > .hero-description {
font-size: 14px;
}
.search-box {
height: 61px; padding-inline: 15px;
}
.search-box input {
font-size: 13px;
}
.search-results {
max-height: min(390px, 55svh);
}
.quick-links {
display: none;
}
.section {
padding-top: 68px; padding-bottom: 68px;
}
.section-heading {
display: block; margin-bottom: 30px;
}
.section-heading > p {
margin-top: 16px;
}
.section-heading h2,
.trust-grid h2 {
font-size: 37px;
}
.featured-grid,
.category-grid,
.calculator-list,
.trust-grid {
grid-template-columns: 1fr;
}
.feature-card {
padding:20px;
}
.feature-card-accent {
grid-column:auto;
}
.trust-grid {
gap: 34px;
}
.category-hero {
padding-top: 28px;
}
.category-title-row {
align-items: flex-start; flex-direction: column;
}
.category-hero-icon {
width: 72px; height: 72px; border-radius: 22px; font-size: 26px;
}
.category-title-row h1 {
font-size: 42px;
}
.catalog-item.is-soon,
.calculator-list .catalog-item {
grid-template-columns: 32px minmax(0,1fr) auto;
}
.catalog-item .list-arrow {
display: none;
}
.ready-badge,
.soon-badge {
font-size: 8px;
}
.category-showcase {
padding-top: 26px;
}
.category-showcase .breadcrumbs {
margin-bottom: 27px;
}
.category-showcase-title {
display: block;
}
.category-showcase-icon {
width: 62px; height: 62px; margin-bottom: 19px; border-radius: 19px; font-size: 23px;
}
.category-showcase h1 {
font-size: 43px;
}
.category-showcase-stats > div {
min-height: 78px; padding: 14px;
}
.category-showcase-stats strong {
font-size: 21px;
}
.category-search {
height: 60px; padding-inline: 16px;
}
.category-content {
padding-top: 52px; padding-bottom: 68px;
}
.category-section-heading {
align-items: flex-start; flex-direction: column; gap: 12px;
}
.category-ready-grid,
.category-ready-grid.ready-count-1 {
grid-template-columns: 1fr;
}
.category-ready-grid.ready-count-3 .category-ready-card:first-child {
grid-column: auto;
}
.category-task-links {
grid-template-columns: 1fr;
}
.category-task-item:nth-child(2) {
border-top: 1px solid #ece9e3;
}
.category-task-group {
padding: 19px;
}
.category-task-head {
align-items: flex-start; flex-direction: column; gap: 7px;
}
.semantic-child-hero {
padding-top: 24px; padding-bottom: 38px;
}
.semantic-child-hero .breadcrumbs {
margin-bottom: 22px;
}
.semantic-child-hero__title {
display: block;
}
.semantic-child-hero__mark {
width: 50px; height: 50px; margin-bottom: 15px; border-radius: 16px; font-size: 18px;
}
.semantic-child-hero h1 {
font-size: 36px;
}
.semantic-child-grid {
grid-template-columns: minmax(0,1fr);
}
.semantic-child-card {
min-height: 0; padding: 19px;
}
.semantic-category-children + .semantic-direct-items {
margin-top: 52px;
}
.semantic-category-empty {
padding: 21px;
}
}
.search-results strong,
.search-results p,
.quick-links,
.feature-card p,
.category-card p,
.trust-item p,
.calculator-list strong,
.back-catalog a,
.category-section-heading > p,
.category-ready-card p,
.category-ready-link,
.category-task-item,
.category-empty-state,
.search-empty {
font-size: var(--text-sm);
    line-height: 1.55;
}
.feature-card-meta small,
.category-card .count,
.trust-item strong,
.category-showcase-stats span,
.category-task-head span,
.ready-badge,
.soon-badge,
.search-box kbd,
.search-results small {
font-size: var(--text-xs);
}
.feature-card p,
.category-card p,
.category-ready-card p,
.trust-item p {
color: var(--muted);
}
.trust-item p {
color: rgba(255, 255, 255, .72);
}
.hero h1 {
font-size: clamp(2.5rem, 3.2vw, 2.75rem);
    line-height: 1.04;
}
.category-title-row h1,
.category-showcase h1 {
font-size: clamp(2rem, 3.2vw, 2.5rem);
    line-height: 1.08;
    letter-spacing: -.045em;
}
.search-box input,
.category-search input,
.catalog-filter input {
font-size: var(--text-base);
}
.public-catalog-hero {
padding:42px 0 60px;
    border-bottom:1px solid var(--line);
    background:radial-gradient(circle at 82% 16%,rgba(217,248,76,.38),transparent 23%),linear-gradient(145deg,#f2edff,#fbfaf6 70%);
}
.public-catalog-hero .breadcrumbs {
margin-bottom:38px;
}
.public-catalog-hero h1 {
max-width:820px; margin:10px 0 16px; font-size:clamp(42px,5vw,68px); line-height:.98; letter-spacing:-.06em;
}
.public-catalog-hero > .container > p {
max-width:700px; margin:0; color:var(--muted); font-size:var(--text-base); line-height:1.65;
}
.public-catalog-summary {
display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; max-width:820px; margin-top:34px;
}
.public-catalog-summary > div {
display:flex; min-width:0; flex-direction:column; gap:5px; padding:18px 20px; border:1px solid rgba(99,62,229,.16); border-radius:18px; background:rgba(255,255,255,.7);
}
.public-catalog-summary strong {
font-size:var(--text-lg); line-height:1.2;
}
.public-catalog-summary span {
color:var(--muted); font-size:var(--text-xs);
}
.public-catalog-content {
padding-top:74px; padding-bottom:92px;
}
.public-catalog-heading {
display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:28px;
}
.public-catalog-heading > p {
max-width:520px; margin:0; color:var(--muted); font-size:var(--text-sm); line-height:1.6; text-align:right;
}
.public-catalog-roots {
display:grid; gap:20px;
}
.public-catalog-root {
min-width:0; padding:28px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:0 14px 38px rgba(29,23,62,.04);
}
.public-catalog-root__header {
display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:start; gap:16px;
}
.public-catalog-root__number {
display:grid; width:42px; height:42px; place-items:center; border-radius:13px; color:var(--violet); background:var(--soft-violet); font-size:var(--text-xs); font-weight:850;
}
.public-catalog-root__header h2 {
margin:0; font-size:clamp(23px,2.4vw,31px); line-height:1.1; letter-spacing:-.04em;
}
.public-catalog-root__header h2 a span,
.public-catalog-category h3 a span {
color:var(--violet); font-size:.75em;
}
.public-catalog-root__header p,
.public-catalog-category header p {
max-width:680px; margin:8px 0 0; color:var(--muted); font-size:var(--text-sm); line-height:1.55;
}
.public-catalog-root__header > small,
.public-catalog-category header > small {
padding-top:6px; color:var(--muted); font-size:var(--text-xs); font-weight:750; white-space:nowrap;
}
.public-catalog-children {
display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:24px;
}
.public-catalog-category {
min-width:0; padding:20px; border:1px solid var(--line); border-radius:18px; background:#fbfaf7;
}
.public-catalog-category > header {
display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:12px;
}
.public-catalog-category h3 {
margin:0; font-size:17px; line-height:1.3; letter-spacing:-.02em;
}
.public-catalog-descendants {
display:grid; gap:12px; margin-top:16px;
}
.public-catalog-descendants .public-catalog-category {
background:#fff;
}
.public-catalog-working {
display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:18px 0 0; padding:0; list-style:none;
}
.public-catalog-working li {
min-width:0;
}
.public-catalog-working a {
display:grid; min-height:44px; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; padding:10px 12px; border:1px solid #d9d1f5; border-radius:12px; color:var(--ink); background:#fff; font-size:var(--text-sm); font-weight:750; line-height:1.35;
}
.public-catalog-working a:hover {
border-color:var(--violet); color:var(--violet);
}
.public-catalog-working b {
color:var(--violet); font-size:17px;
}
.public-catalog-planned {
margin-top:14px;
}
.public-catalog-planned summary {
display:flex; width:max-content; max-width:100%; align-items:center; gap:8px; padding:8px 0; color:var(--violet); font-size:var(--text-sm); font-weight:800; cursor:pointer; list-style:none;
}
.public-catalog-planned summary::-webkit-details-marker {
display:none;
}
.public-catalog-planned summary span {
transition:transform .2s;
}
.public-catalog-planned[open] summary span {
transform:rotate(180deg);
}
.public-catalog-planned ul {
display:grid; gap:0; margin:4px 0 0; padding:0; list-style:none;
}
.public-catalog-planned li {
display:grid; min-width:0; grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:9px 0; border-top:1px solid #ebe8e1; color:#555864; font-size:var(--text-sm); line-height:1.4;
}
.public-catalog-planned li small {
align-self:start; padding:4px 7px; border-radius:7px; color:#62636b; background:#ece9e3; font-size:10px; font-weight:800; white-space:nowrap;
}
@media (max-width: 480px) {
.public-catalog-hero {
padding:28px 0 48px;
}
.public-catalog-hero .breadcrumbs {
margin-bottom:30px;
}
.public-catalog-hero h1 {
font-size:42px;
}
.public-catalog-summary {
grid-template-columns:1fr; gap:8px; margin-top:28px;
}
.public-catalog-summary > div {
padding:14px 16px;
}
.public-catalog-content {
padding-top:52px; padding-bottom:68px;
}
.public-catalog-heading {
align-items:flex-start; flex-direction:column; gap:10px;
}
.public-catalog-heading > p {
text-align:left;
}
.public-catalog-root {
padding:19px;
}
.public-catalog-root__header {
grid-template-columns:auto minmax(0,1fr); gap:12px;
}
.public-catalog-root__header > small {
grid-column:2; padding:0; white-space:normal;
}
.public-catalog-children {
grid-template-columns:minmax(0,1fr);
}
.public-catalog-category {
padding:16px;
}
.public-catalog-category > header {
grid-template-columns:minmax(0,1fr);
}
.public-catalog-category header > small {
padding:0; white-space:normal;
}
.public-catalog-working {
grid-template-columns:minmax(0,1fr);
}
}
