/* School ERP — solution pages (play school, fees, accounts, Tamil Nadu) — builds on site.css */
.ph { padding: 140px 0 80px; }
.ph .wrap { max-width: 980px; }
.ph h1 { font-size: clamp(32px, 4.6vw, 56px); margin: 22px 0 18px; }
.ph h1 .gold { display: block; font-size: .86em; }
.ph .lead { max-width: 720px; }
.ph .actions { margin: 30px 0 22px; }
.crumbs { font-size: 14px; color: rgba(255, 255, 255, .7); margin-bottom: 18px; }
.crumbs a { color: rgba(255, 255, 255, .9); text-decoration: underline; text-underline-offset: 3px; }
.crumbs span { margin: 0 6px; opacity: .6; }
.sp { padding: 84px 0; }
.sp.alt { background: #fff; }
.sp .head { margin-bottom: 40px; }
.sgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.sc { background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 26px 24px; box-shadow: var(--shadow-sm); }
.sp.alt .sc { background: var(--cream); }
.sc .ico { width: 46px; height: 46px; border-radius: 14px; background: var(--g100); color: var(--g800); display: grid; place-items: center; font-size: 24px; margin-bottom: 16px; }
.sc h3 { font-size: 19px; letter-spacing: -.01em; margin-bottom: 8px; }
.sc p { color: var(--muted); font-size: 16px; line-height: 1.65; }
.two { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.prose { color: var(--ink-2); font-size: 18px; line-height: 1.75; margin-top: 20px; }
.ticks { list-style: none; display: grid; gap: 14px; background: var(--cream); border: 1px solid var(--line); border-radius: 24px; padding: 28px; }
.ticks li { display: flex; gap: 14px; align-items: flex-start; font-weight: 600; font-size: 17px; line-height: 1.5; }
.ticks .icon { color: #fff; background: var(--g700); border-radius: 50%; padding: 4px; width: 26px; height: 26px; margin-top: 1px; stroke-width: 2.6; }
.steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.st { background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 26px 24px; }
.st b { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--gold); color: #3A2A00; font-weight: 800; margin-bottom: 14px; }
.st h3 { font-size: 19px; margin-bottom: 8px; } .st p { color: var(--muted); line-height: 1.65; }
.faq .ans a { color: var(--g700); text-decoration: underline; text-underline-offset: 3px; }
.rels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.rl { position: relative; display: flex; flex-direction: column; gap: 8px; background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 24px 56px 24px 24px; transition: transform .2s, box-shadow .2s, border-color .2s; }
.rl:hover { transform: translateY(-3px); box-shadow: var(--shadow-sm); border-color: var(--g200); }
.rl b { font-size: 18px; } .rl span { color: var(--muted); font-size: 15.5px; line-height: 1.6; }
.rl i { position: absolute; right: 22px; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; border-radius: 50%; background: var(--g100); color: var(--g800); display: grid; place-items: center; font-style: normal; font-size: 16px; }
.contact-line { display: flex; gap: 10px; align-items: center; }
footer .fgrid { grid-template-columns: 1.5fr 1fr 1.2fr 1fr 1.2fr; }
@media (max-width: 960px) {
  .sgrid, .steps, .rels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .two { grid-template-columns: 1fr; gap: 28px; }
  footer .fgrid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .ph { padding: 118px 0 56px; } .sp { padding: 60px 0; }
  .sgrid, .steps, .rels { grid-template-columns: 1fr; }
  .prose { font-size: 17px; } .ticks { padding: 22px; }
  footer .fgrid { grid-template-columns: 1fr; }
}
