/* ============================================================
   India Data Law — stylesheet
   Direction D. Three colours and no others.
     paper   #ffffff
     ink     #000000
     inforce #00603c   marks a provision that is in force, and
                       marks nothing else anywhere on the site.
   There is no grey on this site. Secondary text is black at a
   smaller size, or black in the sans serif, or both.
   ============================================================ */

/* --- Typefaces -------------------------------------------------
   Martel and Martel Sans, drawn by the Indian Type Foundry.
   Self-hosted so that no reader's IP address is sent to a third
   party. See /method/ for why that matters on this site.
   If the files in /fonts/ are absent, the fallback stack below
   renders the site correctly.
   --------------------------------------------------------------- */
@font-face{font-family:"Martel";src:url("/fonts/martel-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Martel";src:url("/fonts/martel-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Martel";src:url("/fonts/martel-800.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Martel Sans";src:url("/fonts/martel-sans-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Martel Sans";src:url("/fonts/martel-sans-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Martel Sans";src:url("/fonts/martel-sans-800.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}

:root{
  --paper:#ffffff;
  --ink:#000000;
  --inforce:#00603c;
  --serif:"Martel",Georgia,"Iowan Old Style","Times New Roman",serif;
  --sans:"Martel Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:hidden}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--serif);
  font-weight:400;
  font-size:16px;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
  overflow-wrap:break-word;
}

.wrap{max-width:47rem;margin:0 auto;padding:0 1.15rem 3.5rem}

.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;position:fixed;background:var(--paper);color:var(--ink);border:2px solid var(--ink);padding:.6rem .8rem;font-family:var(--sans);font-weight:600;font-size:.85rem;z-index:10}

/* --- Masthead and navigation --- */
.masthead{border-bottom:1px solid var(--ink);padding:1.4rem 0 .4rem;margin-bottom:1.7rem}
.brand{font-family:var(--serif);font-weight:800;font-size:clamp(1.15rem,4.5vw,1.25rem);letter-spacing:-.015em;line-height:1.1;text-decoration:none;color:var(--ink);display:inline-block}
.brand:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
nav.top{display:flex;flex-wrap:wrap;gap:0 1.1rem;margin-top:.35rem}
nav.top a{font-family:var(--sans);font-weight:600;font-size:.8rem;letter-spacing:.01em;color:var(--ink);text-decoration:none;padding:.42rem 0;display:inline-block}
nav.top a:hover{text-decoration:underline;text-underline-offset:3px}
nav.top a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
@media (max-width:40rem){
  nav.top{gap:0 .85rem}
  nav.top a{font-size:.74rem;padding:.34rem 0}
  .masthead{padding-top:1.1rem;margin-bottom:1.4rem}
}

/* --- Type scale --- */
h1{font-family:var(--serif);font-weight:800;font-size:clamp(1.62rem,6.4vw,2rem);letter-spacing:-.025em;line-height:1.12;margin:0 0 .5rem;text-wrap:balance}
h2{font-family:var(--serif);font-weight:800;font-size:clamp(1.14rem,4.4vw,1.3rem);letter-spacing:-.015em;line-height:1.24;margin:2.2rem 0 .6rem;text-wrap:balance}
h3{font-family:var(--sans);font-weight:800;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin:1.9rem 0 .55rem}
p{margin:0 0 .95rem;max-width:34rem}
.lede{font-size:clamp(1.03rem,3.6vw,1.13rem);line-height:1.55;margin:0 0 1.1rem;max-width:34rem}
.stamp{font-family:var(--sans);font-weight:800;font-size:.65rem;letter-spacing:.13em;text-transform:uppercase;margin:0 0 1.2rem;max-width:none;line-height:1.6}
.note{font-size:.84rem;line-height:1.58}
a{color:var(--ink);text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
strong,b{font-weight:800}

ul{margin:0 0 .95rem;padding-left:1.1rem;max-width:34rem}
li{margin-bottom:.35rem}

.answer{font-family:var(--serif);font-weight:600;font-size:clamp(1rem,3.7vw,1.08rem);line-height:1.55;margin:0 0 1.1rem;max-width:34rem}

/* --- Counters --- */
.counters{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin:0 0 1.6rem}
.counters>div{padding:.9rem .85rem;border-right:1px solid var(--ink)}
.counters>div:last-child{border-right:0}
.counters .lab{display:block;font-family:var(--sans);font-weight:800;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.45rem;line-height:1.4}
.counters .fig{display:block;font-family:var(--serif);font-weight:800;font-size:clamp(2.1rem,8vw,2.9rem);line-height:.9;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.counters .sub{display:block;font-family:var(--sans);font-weight:400;font-size:.78rem;font-variant-numeric:tabular-nums;margin-top:.45rem}
@media (max-width:40rem){
  .counters{grid-template-columns:1fr}
  .counters>div{border-right:0;border-bottom:1px solid var(--ink);display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap;padding:.75rem .1rem}
  .counters>div:last-child{border-bottom:0}
  .counters .lab{order:2;margin:0;flex:1 1 8rem;min-width:8rem}
  .counters .fig{order:1;font-size:2.4rem}
  .counters .sub{order:3;flex-basis:100%;margin-top:.2rem}
}

/* --- Tables --- */
.scroll{overflow-x:auto;margin:0 0 1.2rem;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;min-width:31rem}
th{font-family:var(--sans);font-weight:800;font-size:.64rem;letter-spacing:.11em;text-transform:uppercase;text-align:left;padding:0 .6rem .4rem;border-bottom:1px solid var(--ink);vertical-align:bottom}
td{font-family:var(--sans);font-weight:400;font-size:.82rem;line-height:1.45;padding:.55rem .6rem;border-bottom:1px solid var(--ink);vertical-align:top}
th:first-child,td:first-child{padding-left:0}
th:last-child,td:last-child{padding-right:0}
tr:last-child td{border-bottom:0}
td.ref{font-family:var(--sans);font-weight:600;white-space:nowrap}
td.date{font-family:var(--sans);font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap}
td.amount{font-family:var(--sans);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
td.term{font-family:var(--sans);font-weight:800;white-space:nowrap}

/* On a phone a four column table becomes one block per row.
   Horizontal scrolling inside a reference table is unusable. */
@media (max-width:40rem){
  .scroll{overflow-x:visible}
  table.stack{min-width:0;display:block}
  table.stack thead{position:absolute;left:-9999px}
  table.stack tbody,table.stack tr,table.stack td{display:block;width:100%}
  table.stack tr{border-bottom:1px solid var(--ink);padding:.85rem 0}
  table.stack tr:last-child{border-bottom:0}
  table.stack td{border:0;padding:0 0 .35rem;font-size:.88rem;white-space:normal}
  table.stack td:last-child{padding-bottom:0}
  table.stack td.ref,table.stack td.term{font-weight:800;font-size:1rem;line-height:1.3;padding-bottom:.3rem}
  table.stack td[data-l]::before{content:attr(data-l);font-weight:800;font-size:.6rem;letter-spacing:.11em;text-transform:uppercase;margin-right:.5rem}
}

/* --- Status words. Green means in force. Nothing else is green. --- */
.s-inforce{font-family:var(--sans);font-weight:600;color:var(--inforce);white-space:nowrap}
.s-later{font-family:var(--sans);font-weight:400;white-space:nowrap}
.s-notused{font-family:var(--sans);font-weight:400;font-style:italic;white-space:nowrap}

/* --- Callout --- */
.callout{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:.85rem 0;margin:1.5rem 0;max-width:34rem}
.callout .lab{display:block;font-family:var(--sans);font-weight:800;font-size:.63rem;letter-spacing:.13em;text-transform:uppercase;margin-bottom:.35rem}
.callout p{font-size:.88rem;line-height:1.58;margin:0}
.callout p+p{margin-top:.6rem}

/* --- Marginal rail --- */
.rail-layout{display:grid;grid-template-columns:7.5rem 1fr;gap:1.4rem;margin-bottom:1.2rem}
.rail{border-right:1px solid var(--ink);padding-right:1.1rem;text-align:right}
.rail div{margin-bottom:.9rem}
.rail div:last-child{margin-bottom:0}
.rail b{display:block;font-family:var(--sans);font-weight:600;font-size:.78rem}
.rail span{display:block;font-family:var(--sans);font-weight:400;font-size:.62rem;text-transform:uppercase;letter-spacing:.09em;margin-top:.12rem}
@media (max-width:44rem){
  .rail-layout{grid-template-columns:1fr;gap:.8rem}
  .rail{border-right:0;border-left:2px solid var(--ink);padding-right:0;padding-left:.75rem;text-align:left;display:flex;flex-wrap:wrap;gap:.5rem 1.1rem}
  .rail div{margin-bottom:0}
  .rail b{display:inline}
  .rail span{display:inline;margin-left:.3rem}
}

/* --- News entries --- */
.entry{display:grid;grid-template-columns:6rem 1fr;gap:1.3rem;padding:1.2rem 0;border-bottom:1px solid var(--ink)}
.entry:first-of-type{border-top:1px solid var(--ink)}
.entry .when b{display:block;font-family:var(--sans);font-weight:600;font-size:.8rem;white-space:nowrap}
.entry .when span{display:block;font-family:var(--sans);font-weight:400;font-size:.62rem;text-transform:uppercase;letter-spacing:.09em;margin-top:.12rem}
.entry h2{font-size:clamp(1rem,3.9vw,1.05rem);line-height:1.3;margin:0 0 .45rem}
.entry p{font-size:.9rem;margin:0 0 .6rem}
.src-lab{display:block;font-family:var(--sans);font-weight:800;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.28rem}
.src{font-family:var(--sans);font-weight:600;font-size:.78rem;color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--ink);padding-bottom:1px;display:inline-block}
.src:hover{border-bottom-width:3px}
.src em{font-style:normal;font-weight:400}
@media (max-width:44rem){
  .entry{grid-template-columns:1fr;gap:.5rem}
  .entry .when{display:flex;gap:.55rem;align-items:baseline}
  .entry .when span{margin-top:0}
}

/* --- Index lists --- */
.index{border-top:1px solid var(--ink);margin-bottom:1.4rem;padding-left:0;max-width:36rem}
.index li{list-style:none;border-bottom:1px solid var(--ink);margin:0;padding:.85rem 0}
.index a{font-family:var(--serif);font-weight:800;font-size:1rem;text-decoration:none;letter-spacing:-.01em;line-height:1.3;display:inline-block}
.index a:hover{text-decoration:underline;text-underline-offset:3px}
.index p{font-family:var(--sans);font-weight:400;font-size:.84rem;line-height:1.5;margin:.3rem 0 0;max-width:32rem}

/* --- Definition blocks --- */
.defs{border-top:1px solid var(--ink)}
.defs .item{border-bottom:1px solid var(--ink);padding:1.05rem 0}
.defs h2,.defs h3{font-family:var(--serif);font-weight:800;text-transform:none;letter-spacing:-.015em;line-height:1.24;margin:0 0 .4rem;font-size:clamp(1rem,4vw,1.08rem)}
.defs p{font-size:.9rem;margin:0 0 .55rem}
.defs p:last-child{margin-bottom:0}
.defs .tag{font-family:var(--sans);font-weight:800;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;display:block;margin-bottom:.3rem}

/* --- FAQ --- */
.faq{border-top:1px solid var(--ink);margin-bottom:1.5rem}
.faq .q{border-bottom:1px solid var(--ink);padding:1rem 0}
.faq h2{font-size:clamp(1rem,4vw,1.06rem);margin:0 0 .4rem;line-height:1.3}
.faq p{font-size:.9rem;margin:0 0 .5rem}
.faq p:last-child{margin-bottom:0}

/* --- Footer --- */
footer{border-top:1px solid var(--ink);margin-top:3rem;padding-top:1rem}
footer nav{display:flex;flex-wrap:wrap;gap:0 1.1rem;margin-bottom:.7rem}
footer nav a{font-family:var(--sans);font-weight:600;font-size:.75rem;letter-spacing:.02em;color:var(--ink);text-decoration:none;padding:.35rem 0;display:inline-block}
footer nav a:hover{text-decoration:underline;text-underline-offset:3px}
footer p{font-family:var(--sans);font-weight:400;font-size:.76rem;line-height:1.58;margin:0 0 .4rem;max-width:34rem}

/* --- Print. Compliance readers print pages and take them to meetings. --- */
@media print{
  body{font-size:11pt;line-height:1.45}
  .wrap{max-width:none;padding:0}
  nav.top,.skip,footer nav{display:none}
  .brand{font-size:14pt}
  h1{font-size:18pt}
  h2{font-size:13pt}
  a{text-decoration:none}
  .src{border-bottom:0}
  .s-inforce{color:#000;font-weight:800}
  .entry,.counters>div,.callout,table,tr,.faq .q,.defs .item{break-inside:avoid}
  .counters{grid-template-columns:repeat(3,1fr)}
  table.stack{display:table;min-width:0}
  table.stack thead{position:static}
  table.stack tbody{display:table-row-group}
  table.stack tr{display:table-row}
  table.stack td{display:table-cell}
  table.stack td[data-l]::before{content:none}
}
