/* Setu CRM — legal pages stylesheet */

:root{
  --paper:#EFEEE7;
  --paper-2:#E6E4D9;
  --ink:#1B1A2E;
  --ink-soft:#4F4C66;
  --violet:#4A2F8F;
  --violet-wash:#E6E0F4;
  --rule:#C9C6B6;
  --ochre:#7E5F16;
  --measure:44rem;
}

*{box-sizing:border-box;}

html{-webkit-text-size-adjust:100%;}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Noto Sans Devanagari","Noto Sans",system-ui,sans-serif;
  font-size:17px;
  line-height:1.75;
  font-feature-settings:"kern";
}

/* ---------- language switching ---------- */
html[data-lang="mr"] [data-l="en"]{display:none;}
html[data-lang="en"] [data-l="mr"]{display:none;}

/* ---------- header ---------- */
.topbar{
  border-bottom:1px solid var(--rule);
  background:var(--paper);
  position:sticky;
  top:0;
  z-index:10;
}
.topbar-in{
  max-width:var(--measure);
  margin:0 auto;
  padding:.85rem 1.25rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.wordmark{
  font-family:"Bricolage Grotesque","Noto Sans Devanagari",sans-serif;
  font-weight:700;
  font-size:1.05rem;
  letter-spacing:-.015em;
  color:var(--ink);
  text-decoration:none;
}
.wordmark span{color:var(--violet);}

.langswitch{
  display:flex;
  border:1px solid var(--violet);
  border-radius:2px;
  overflow:hidden;
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:600;
}
.langswitch a{
  padding:.3rem .6rem;
  text-decoration:none;
  color:var(--violet);
  background:transparent;
}
.langswitch a[aria-current="true"]{
  background:var(--violet);
  color:var(--paper);
}
.langswitch a:hover{background:var(--violet-wash);}
.langswitch a[aria-current="true"]:hover{background:var(--violet);}

/* ---------- page frame ---------- */
main{
  max-width:var(--measure);
  margin:0 auto;
  padding:2.5rem 1.25rem 5rem;
}

/* ---------- signature: docket stamp ---------- */
.docket{
  float:right;
  margin:.25rem 0 1rem 1.5rem;
  transform:rotate(-3.5deg);
  border:2px solid var(--violet);
  padding:3px;
  color:var(--violet);
  animation:settle .5s ease-out;
}
.docket-in{
  border:1px solid var(--violet);
  padding:.55rem .8rem;
  text-align:center;
}
.docket-code{
  font-family:"Bricolage Grotesque",sans-serif;
  font-weight:700;
  font-size:.95rem;
  letter-spacing:.14em;
  display:block;
}
.docket-meta{
  display:block;
  font-size:.62rem;
  letter-spacing:.11em;
  text-transform:uppercase;
  margin-top:.15rem;
  opacity:.85;
}
@keyframes settle{
  from{opacity:0;transform:rotate(-9deg) scale(1.06);}
  to{opacity:1;transform:rotate(-3.5deg) scale(1);}
}
@media (prefers-reduced-motion:reduce){
  .docket{animation:none;}
}

/* ---------- headings ---------- */
h1{
  font-family:"Noto Serif Devanagari","Bricolage Grotesque",serif;
  font-weight:700;
  font-size:clamp(1.85rem,5.5vw,2.6rem);
  line-height:1.25;
  letter-spacing:-.01em;
  margin:0 0 .5rem;
}
.standfirst{
  color:var(--ink-soft);
  font-size:1.02rem;
  margin:0 0 2rem;
  max-width:34rem;
}
h2{
  font-family:"Noto Serif Devanagari","Bricolage Grotesque",serif;
  font-weight:700;
  font-size:1.22rem;
  line-height:1.4;
  margin:0 0 .6rem;
}
h3{
  font-size:1rem;
  font-weight:700;
  margin:1.4rem 0 .35rem;
}

/* ---------- numbered clauses ---------- */
.clause{
  border-top:1px solid var(--rule);
  padding-top:1.6rem;
  margin-top:1.6rem;
}
.clause-no{
  display:block;
  font-family:"Bricolage Grotesque",sans-serif;
  font-weight:700;
  font-size:.78rem;
  letter-spacing:.18em;
  color:var(--violet);
  margin-bottom:.35rem;
}
@media (min-width:56rem){
  .clause{position:relative;}
  .clause-no{
    position:absolute;
    left:-4.5rem;
    top:1.75rem;
    width:3.5rem;
    text-align:right;
    margin:0;
  }
}

p{margin:0 0 1rem;}
ul,ol{margin:0 0 1rem;padding-left:1.35rem;}
li{margin-bottom:.4rem;}
strong{font-weight:700;}

a{color:var(--violet);text-underline-offset:.18em;}
a:hover{background:var(--violet-wash);}

:focus-visible{
  outline:2.5px solid var(--violet);
  outline-offset:3px;
}

/* ---------- callout ---------- */
.note{
  background:var(--violet-wash);
  border-left:3px solid var(--violet);
  padding:1rem 1.1rem;
  margin:1.25rem 0;
}
.note p:last-child{margin-bottom:0;}
.note-label{
  display:block;
  font-size:.68rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--violet);
  margin-bottom:.35rem;
}
.note.warn{
  background:#F5EEDC;
  border-left-color:var(--ochre);
}
.note.warn .note-label{color:var(--ochre);}

/* ---------- details table ---------- */
.facts{
  width:100%;
  border-collapse:collapse;
  margin:1rem 0 2rem;
  font-size:.97rem;
}
.facts th,.facts td{
  text-align:left;
  vertical-align:top;
  padding:.7rem .5rem;
  border-bottom:1px solid var(--rule);
}
.facts th{
  width:36%;
  font-weight:600;
  color:var(--ink-soft);
  font-size:.83rem;
  letter-spacing:.03em;
  text-transform:uppercase;
}
@media (max-width:30rem){
  .facts th,.facts td{display:block;width:100%;border:none;padding:.15rem .1rem;}
  .facts tr{display:block;border-bottom:1px solid var(--rule);padding:.6rem 0;}
}

/* ---------- footer ---------- */
footer{
  border-top:1px solid var(--rule);
  background:var(--paper-2);
  margin-top:3rem;
}
.footer-in{
  max-width:var(--measure);
  margin:0 auto;
  padding:2rem 1.25rem 2.5rem;
  font-size:.86rem;
  color:var(--ink-soft);
}
.footer-in nav{margin-bottom:.9rem;display:flex;flex-wrap:wrap;gap:1.1rem;}
.footer-in nav a{font-weight:600;}
