/* My EMI — shared stylesheet for the inner pages
   (about, contact, terms, privacy, grievance-redressal, 404).

   The tokens, base type, buttons, header and footer below are copied from the
   inline <style> in /index.html so every page looks the same. If you change
   one of those blocks here, change it in index.html too (and vice versa). */

:root{
  --teal:#1DA799;
  --teal-dark:#15837A;
  --teal-tint:#F0FAF9;
  --teal-deep:#0E4F49;
  --ink:#1A1A2E;
  --muted:#6B6B7A;
  --line:#E6EBEA;
  --paper:#FFFFFF;
  --wash:#F7F9F9;
  --footer:#14141F;
  --radius:14px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:auto;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:'DM Sans',-apple-system,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;font-size:16px}
h1,h2,h3{font-family:'DM Sans',-apple-system,sans-serif;line-height:1.1;font-weight:700;letter-spacing:-0.025em}
h1{font-weight:800}
a{text-decoration:none;color:inherit}
img{max-width:100%}
address{font-style:normal}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.btn{display:inline-block;padding:13px 28px;border-radius:999px;font-weight:600;font-size:15px;border:1px solid transparent;cursor:pointer}
.btn-solid{background:var(--ink);color:#fff}
.btn-solid:hover{background:#000}
.eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-dark);margin-bottom:14px}

/* Visible keyboard focus on every interactive element */
a:focus-visible,button:focus-visible{outline:2px solid var(--teal-dark);outline-offset:3px}
footer a:focus-visible,.page-hero a:focus-visible{outline-color:#fff}

/* ─── Header (same look as the homepage nav bar) ─── */
.site-header{border-bottom:1px solid var(--line);background:#fff}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{font-family:'DM Sans',-apple-system,sans-serif;font-weight:700;font-size:22px}
.logo em{color:var(--teal);font-style:normal}
.nav-links{display:flex;gap:32px;font-size:14.5px;font-weight:500;color:var(--muted)}
.nav-links a:hover{color:var(--ink)}
@media(max-width:760px){.nav-links{display:none}}

/* ─── Page header band ─── */
/* Darker end of the brand gradient so white text passes WCAG AA contrast. */
.page-hero{background:linear-gradient(135deg,var(--teal-dark) 0%,var(--teal-deep) 100%);color:#fff;padding:64px 0 56px}
.page-hero .eyebrow{color:#fff}
.page-hero h1{font-size:clamp(34px,4.6vw,52px);color:#fff;margin-bottom:16px}
.page-hero .lede{font-size:18px;max-width:58ch}
.page-hero .updated{margin-top:20px;font-size:14px;font-weight:500}
@media(max-width:560px){.page-hero{padding:48px 0 40px}.page-hero .lede{font-size:17px}}

/* ─── Generic sections (about, contact) ─── */
.section{padding:72px 0}
.section.alt{background:var(--wash)}
.section h2{font-size:clamp(26px,3vw,34px);margin-bottom:14px}
.section .intro{color:var(--muted);max-width:60ch;margin-bottom:36px;font-size:17px}
.section p{margin-bottom:14px}
/* Narrow text column that keeps the same left edge as the full-width sections */
.narrow > *{max-width:640px}
.section address{margin-bottom:18px}
.text-link{color:var(--teal-dark);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.text-link:hover{color:var(--teal-deep)}
/* teal-dark passes WCAG AA on white (4.6:1) but not on --wash or --teal-tint (4.3:1),
   so links on those tinted backgrounds use teal-deep (8.9:1). */
.section.alt .text-link,.callout a,.prose .callout a{color:var(--teal-deep)}
@media(max-width:560px){.section{padding:56px 0}}

/* Numbered steps (same card style as the homepage "How it works") */
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.step .num{display:block;font-size:30px;font-weight:700;line-height:1.1;color:var(--teal-dark);margin-bottom:10px}
.step h3{font-size:16.5px;margin-bottom:6px;letter-spacing:-0.01em;line-height:1.3}
.step p{font-size:15px;color:var(--muted);margin:0}
@media(max-width:860px){.steps{grid-template-columns:1fr}}

/* Cards (same style as the homepage "Why choose My EMI" cards) */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:#fff}
.card .ic{width:44px;height:44px;border-radius:12px;background:var(--teal-tint);color:var(--teal-dark);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:16px}
.card h2,.card h3{font-size:19px;margin-bottom:8px;letter-spacing:-0.015em;line-height:1.25}
.card p{font-size:15px;color:var(--muted);margin-bottom:10px}
.card p:last-child{margin-bottom:0}
.card .big-link{font-size:18px;font-weight:600;overflow-wrap:anywhere}
.card .big-link a{color:var(--teal-dark);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.card address{font-size:15.5px;color:var(--ink);margin-bottom:10px}
@media(max-width:860px){.cards{grid-template-columns:1fr}}
.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
@media(max-width:760px){.contact-grid{grid-template-columns:1fr}}

/* Highlighted box (lending partner disclosure, summaries) */
.callout{background:var(--teal-tint);border:1px solid #CFE9E5;border-radius:var(--radius);padding:24px 26px;margin-bottom:32px}
.callout p{margin-bottom:12px}
.callout p:last-child,.callout ul:last-child{margin-bottom:0}
.callout .callout-title{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--teal-deep);margin:0 0 10px;line-height:1.6}

/* ─── Long legal pages ─── */
.legal{padding:56px 0 88px}
.legal-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:64px;align-items:start}
@media(max-width:900px){.legal-grid{grid-template-columns:minmax(0,1fr);gap:32px}.legal{padding:40px 0 72px}}

.toc{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto}
.toc h2{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);line-height:1.6;margin-bottom:10px}
.toc ol{padding-left:1.5em;font-size:14.5px;line-height:1.4}
.toc li{margin-bottom:8px}
.toc li:last-child{margin-bottom:0}
.toc li::marker{color:var(--muted)}
.toc a{color:var(--teal-dark)}
.toc a:hover{color:var(--teal-deep);text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.toc{position:static;max-height:none}}
@media(min-width:561px) and (max-width:900px){.toc ol{columns:2;column-gap:32px}.toc li{break-inside:avoid}}

/* ~70-75 characters per line for long legal text */
.prose{max-width:38em}
.prose h2{font-size:clamp(22px,2.4vw,26px);line-height:1.25;letter-spacing:-0.02em;margin:44px 0 12px;scroll-margin-top:24px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:18px;line-height:1.3;letter-spacing:-0.01em;margin:26px 0 8px}
.prose p,.prose li{font-size:16.5px;line-height:1.7}
.prose p{margin-bottom:14px}
.prose ul,.prose ol{margin:0 0 16px;padding-left:1.4em}
.prose li{margin-bottom:8px;padding-left:4px}
.prose li::marker{color:var(--teal-dark)}
.prose a{color:var(--teal-dark);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;overflow-wrap:anywhere}
.prose a:hover{color:var(--teal-deep)}
.prose strong{font-weight:700}

/* Contact details block (grievance officers) */
.contact-card{border:1px solid var(--line);border-radius:var(--radius);padding:20px 24px;background:#fff;margin:6px 0 22px}
.contact-card dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px 24px;font-size:16px}
.contact-card dt{font-weight:600;color:var(--muted)}
.contact-card dd{overflow-wrap:anywhere}
@media(max-width:520px){.contact-card dl{grid-template-columns:minmax(0,1fr);gap:2px}.contact-card dd{margin-bottom:10px}.contact-card dd:last-child{margin-bottom:0}}

/* ─── 404 ─── */
.notfound{padding:96px 0 112px;text-align:center}
.notfound .code{font-size:clamp(72px,12vw,120px);font-weight:800;line-height:1;letter-spacing:-0.04em;color:var(--teal-dark);margin-bottom:8px}
.notfound h1{font-size:clamp(30px,3.6vw,42px);margin-bottom:12px}
.notfound p{color:var(--muted);max-width:46ch;margin:0 auto 28px;font-size:17px}
.notfound .quick-links{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 24px;margin-top:36px;font-weight:500}
.notfound .quick-links a{color:var(--teal-dark);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
@media(max-width:560px){.notfound{padding:64px 0 80px}}

/* ─── Footer (same as the homepage footer) ─── */
footer{background:var(--footer);color:#B9B9C6;padding:64px 0 32px;font-size:14px}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}
footer .logo{color:#fff;margin-bottom:12px;display:block}
.foot-tag{max-width:36ch}
/* Footer column titles: h2 on these pages (h4 on the homepage), same look. */
.foot-h{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px;font-weight:700;line-height:1.6}
footer li{list-style:none;margin-bottom:10px}
footer a:hover{color:#fff}
.foot-legal{border-top:1px solid #2A2A38;padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:#8A8A99}
.foot-note{font-size:12.5px;color:#8A8A99;max-width:60ch;margin-top:16px}
@media(max-width:820px){.foot-grid{grid-template-columns:1fr 1fr}}

/* ─── Print: legal pages are often printed or saved as PDF ─── */
@media print{
  .nav-links,.toc{display:none}
  .page-hero{background:none;color:var(--ink);padding:16px 0}
  .page-hero .eyebrow,.page-hero h1{color:var(--ink)}
  .legal{padding:16px 0}
  .legal-grid{display:block}
  .prose{max-width:none}
  footer{background:none;color:var(--ink);padding:24px 0 0;border-top:1px solid var(--line)}
  footer .logo,.foot-h{color:var(--ink)}
  .foot-legal,.foot-note{color:#444}
}
