/* dholera-realestate.com  |  The Standing Register
   Paper    #F8F9F7  near-white warm sheet, L* 97.8. It carries no identity.
   Ink      #0D1512  register ink, L* 6.0
   Accent   #0E6E4E  registry green: rank position and verified status ONLY
   Support  #63706A  muted neutral, secondary rules and metadata
   Signature: THE STANDING RULE, seven full-height hairlines behind the sheet.
   Row grouping: hanging indent. No banding, no zebra, no cards, no tinted panels. */

@font-face{font-family:'Bitter';src:url('/fonts/bitter-var.woff2') format('woff2-variations');
  font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('/fonts/source-sans-3-var.woff2') format('woff2-variations');
  font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:'Anonymous Pro';src:url('/fonts/anonymous-pro-400.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Anonymous Pro';src:url('/fonts/anonymous-pro-700.woff2') format('woff2');
  font-weight:700;font-style:normal;font-display:swap}

:root{
  --paper:#F8F9F7;
  --ink:#0D1512;
  --accent:#0E6E4E;
  --support:#63706A;
  /* every rule weight below is ink over paper at a stated alpha, never a fifth hex */
  --rule:rgba(13,21,18,.30);
  --rule-soft:rgba(13,21,18,.15);
  --rule-faint:rgba(13,21,18,.075);
  --accent-soft:rgba(14,110,78,.40);
  --gutter:60px;
  --max:1340px;
  --display:'Bitter',serif;
  --body:'Source Sans 3',sans-serif;
  --mono:'Anonymous Pro',monospace;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  border-top:4px solid var(--accent);      /* the masthead rule, full bleed */
  font-family:var(--body);font-size:17.5px;line-height:1.62;font-weight:400;
  font-variant-numeric:tabular-nums lining-nums;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto}
::selection{background:var(--ink);color:var(--paper)}

/* ---------- THE STANDING RULE ------------------------------------------- */
/* Seven vertical hairlines begin at the top edge of the viewport and run
   unbroken behind every band of the document. On a near-white sheet they are
   set faint, so they read as ruled stock rather than as a grid drawn on top. */
.standing{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  max-width:var(--max);margin:0 auto;padding:0 32px;
  display:grid;grid-template-columns:repeat(7,1fr);
}
.standing i{border-left:1px solid var(--rule-faint);display:block}
.wrap{position:relative;z-index:1;max-width:var(--max);margin:0 auto;padding:0 32px}

/* ---------- masthead ----------------------------------------------------- */
.masthead{padding:48px 0 14px}
.masthead h1,.masthead .mh{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:clamp(32px,5.6vw,68px);line-height:.96;letter-spacing:-.021em;
  margin:0;max-width:13ch;
}
.knock{background:var(--ink);color:var(--paper);padding:0 .1em;display:inline-block}
.editionline{
  font-family:var(--mono);font-size:12px;line-height:1.7;text-transform:uppercase;
  letter-spacing:.15em;color:var(--support);margin:22px 0 0;max-width:none;
}
nav.reg{margin:20px 0 0;padding:0 0 30px}
nav.reg ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;row-gap:8px}
nav.reg li{border-left:1px solid var(--rule);padding:0 16px;line-height:1.1}
nav.reg li:first-child{border-left:0;padding-left:0}
nav.reg a{
  font-family:var(--mono);font-size:12px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ink);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px;
}
nav.reg a:hover,nav.reg a:focus{border-bottom-color:var(--ink)}
nav.reg a[aria-current="page"]{color:var(--accent);border-bottom-color:var(--accent)}

/* ---------- sections ----------------------------------------------------- */
main{padding-bottom:16px}
section{padding:34px 0 10px;border-top:1px solid var(--rule-soft)}
section:first-of-type{border-top:1.5px solid var(--ink)}
.secno{
  font-family:var(--mono);font-size:12px;letter-spacing:.16em;color:var(--accent);
  text-transform:uppercase;display:block;margin:0 0 10px;font-weight:700;
}
main h1{font-family:var(--display);font-weight:700;font-size:clamp(29px,4.2vw,44px);
  line-height:1.09;letter-spacing:-.019em;margin:6px 0 20px;max-width:23ch}
h2{font-family:var(--display);font-weight:700;font-size:clamp(24px,3.1vw,33px);
   line-height:1.14;letter-spacing:-.014em;margin:0 0 4px;max-width:22ch}
h3{font-family:var(--display);font-weight:600;font-size:21px;line-height:1.25;margin:26px 0 6px}
h4{font-family:var(--body);font-weight:600;font-size:17px;margin:20px 0 4px}
h2+.drawn{margin-bottom:18px}
.drawn{height:1.5px;background:var(--ink);transform-origin:left;margin:14px 0 18px}
p{margin:0 0 15px;max-width:66ch}
.lede{font-size:20px;line-height:1.52;max-width:62ch;margin-bottom:20px}
a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;
  text-decoration-color:var(--accent-soft);text-underline-offset:3px}
a:hover,a:focus{color:var(--accent);text-decoration-color:var(--accent)}
ul.plain,ol.plain{max-width:66ch;padding-left:20px;margin:0 0 18px}
ul.plain li,ol.plain li{margin:0 0 8px}

/* hanging indent: this site's assigned row-grouping device.
   The entry sits flush, everything subordinate to it hangs under it. */
.hang{padding-left:22px;text-indent:-22px;max-width:66ch;margin:0 0 11px}
.hang .lead{text-indent:0}
ul.hanglist{list-style:none;margin:0 0 18px;padding:0;max-width:68ch}
ul.hanglist>li{padding-left:24px;text-indent:-24px;margin:0 0 10px}

.micro{font-family:var(--mono);font-size:12px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--support)}
.note{font-size:15.5px;color:var(--support);max-width:68ch;margin:0 0 16px}
.srcline{font-family:var(--mono);font-size:12px;line-height:1.75;color:var(--support);
  margin:8px 0 20px;max-width:none;word-break:break-word}
.srcline a{color:var(--support);text-decoration-color:var(--rule)}
.srcline a:hover{color:var(--accent)}

/* ---------- tables ------------------------------------------------------- */
/* The table is not a component on the page, it is the page. Set like a stock
   page: tabular lining figures, numerics right, hairline rules, no striping. */
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 10px}
table{border-collapse:collapse;width:100%;font-size:16px}
caption{
  text-align:left;font-family:var(--mono);font-size:12px;letter-spacing:.13em;
  line-height:1.6;text-transform:uppercase;color:var(--support);padding:0 0 12px;
}
thead th{
  border-bottom:1.5px solid var(--ink);
  font-family:var(--mono);font-weight:700;font-size:11.5px;letter-spacing:.13em;
  line-height:1.45;text-transform:uppercase;color:var(--ink);text-align:left;
  padding:0 8px 9px;vertical-align:bottom;
}
thead th:first-child{padding-left:0}
thead th.num{text-align:right}
thead th:last-child{padding-right:0}
tbody td:last-child,tfoot td:last-child{padding-right:0}
th[data-sort]{cursor:pointer;user-select:none}
th[data-sort]::after{content:" \2195";opacity:.4;font-weight:400}
th[aria-sort="ascending"],th[aria-sort="descending"]{color:var(--accent);
  border-bottom-color:var(--accent)}
th[aria-sort="ascending"]::after{content:" \2191";opacity:1}
th[aria-sort="descending"]::after{content:" \2193";opacity:1}
tbody td{border-bottom:1px solid var(--rule-soft);padding:13px 8px;vertical-align:top}
tbody td:first-child{padding-left:0}
tbody tr:last-child td{border-bottom-color:var(--rule)}
td.num,td.score{text-align:right;font-family:var(--mono);white-space:nowrap;
  font-variant-numeric:tabular-nums lining-nums}
td.rank{font-family:var(--display);font-weight:700;font-size:26px;line-height:1;
  color:var(--accent);width:var(--gutter);padding-right:16px;padding-left:0;text-align:left;
  letter-spacing:-.02em}
td.score b{font-family:var(--mono);font-weight:700;font-size:20px;color:var(--ink)}
.entity{font-weight:600;font-size:16px;color:var(--ink);text-decoration:none;
  border-bottom:1px solid var(--rule-soft)}
a.entity:hover,a.entity:focus{border-bottom-color:var(--accent);color:var(--accent)}
/* the hanging indent again, inside the entity cell */
/* the entry column absorbs the slack, so no column is padded out with air */
td.entry{padding-left:0;min-width:200px;width:34%}
td.entry .sub{display:block;padding-left:18px;text-indent:-18px;margin-top:5px;
  font-size:14px;line-height:1.5;color:var(--support)}
td.entry .sub-reg{display:block;margin-top:4px}
/* registration numbers wrap only at their own separators, never mid-token */
.rera{font-family:var(--mono);font-size:12.5px;line-height:1.55;color:var(--ink);
  word-break:normal;overflow-wrap:break-word}
/* inline-block sets the column's working width; the rule stays on the text */
a.rera{display:inline-block;min-width:150px;text-decoration:underline;
  text-decoration-thickness:1px;text-decoration-color:var(--accent-soft);
  text-underline-offset:3px}
a.rera:hover,a.rera:focus{color:var(--accent);text-decoration-color:var(--accent)}
.gap{font-family:var(--mono);font-size:12.5px;color:var(--support)}
tfoot td{border-top:1.5px solid var(--ink);padding:11px 8px;font-family:var(--mono);
  font-size:11.5px;line-height:1.75;letter-spacing:.08em;text-transform:uppercase;
  color:var(--support)}
tfoot td:first-child{padding-left:0}

/* key/value record table */
table.record td:first-child,table.record th:first-child{width:30%;white-space:normal}
table.record th[scope="row"]{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.11em;text-transform:uppercase;
  text-align:left;font-weight:400;color:var(--support);padding:13px 12px 13px 0;
  border-bottom:1px solid var(--rule-soft);vertical-align:top;background:none;
}

/* ---------- status stamps ------------------------------------------------ */
/* Status is carried by the FORM of the stamp, solid against outlined against
   dashed, so the register survives greyscale printing, photocopying and every
   kind of colour blindness. Colour never carries information on its own. */
.stamp{
  display:inline-block;min-width:104px;height:24px;line-height:24px;padding:0 8px;
  font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.11em;
  text-transform:uppercase;text-align:center;white-space:nowrap;
}
.stamp-official{background:var(--accent);color:var(--paper)}
.stamp-inferred{border:1.5px dashed var(--ink);color:var(--ink);line-height:21px}
.stamp-ahead{border:1.5px solid var(--ink);color:var(--ink);line-height:21px}
.stamp-elapsed{border:1px solid var(--support);color:var(--support);line-height:22px;
  font-weight:400}
.stamps-key{display:flex;flex-wrap:wrap;gap:18px 30px;margin:0 0 20px;padding:0;list-style:none}
.stamps-key li{max-width:23ch;font-size:15.5px;line-height:1.5}
.stamps-key .stamp{margin-bottom:8px}

/* ---------- register seal ------------------------------------------------ */
.seal{float:right;margin:0 0 14px 24px}
.seal svg{display:block}

/* ---------- figures / rule chart ----------------------------------------- */
figure{margin:0 0 20px}
figure svg{display:block;width:100%;height:auto}
figcaption{font-family:var(--mono);font-size:12px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--support);margin-top:10px}

/* ---------- index blocks -------------------------------------------------- */
.axes{list-style:none;margin:0;padding:0}
.axes li{border-top:1px solid var(--rule-soft);padding:16px 0}
.axes li:first-child{border-top:0;padding-top:0}
.axes a{font-family:var(--display);font-weight:700;font-size:20px;color:var(--ink);
  text-decoration:none;border-bottom:1px solid var(--rule-soft)}
.axes a:hover,.axes a:focus{border-bottom-color:var(--accent);color:var(--accent)}
.axes p{margin:6px 0 0;font-size:15.5px;color:var(--support);max-width:66ch}

.counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:0;margin:0 0 22px}
.counts div{border-left:1px solid var(--rule-soft);padding:0 16px}
.counts div:first-child{border-left:0;padding-left:0}
.counts b{display:block;font-family:var(--display);font-weight:700;font-size:36px;
  line-height:1.05;letter-spacing:-.02em}
.counts span{font-family:var(--mono);font-size:11.5px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--support);display:block;margin-top:6px}

.actions{font-family:var(--mono);font-size:12px;letter-spacing:.13em;text-transform:uppercase;
  margin:16px 0 24px;line-height:2}
.actions a{margin-right:24px;display:inline-block}

/* ---------- footer -------------------------------------------------------- */
footer{border-top:1.5px solid var(--ink);margin-top:34px;padding:24px 0 56px;
  font-size:15.5px;color:var(--support)}
footer p{max-width:68ch;margin:0 0 12px}
footer a{color:var(--support)}
footer a:hover{color:var(--accent)}
footer .micro{margin-bottom:12px;display:block}

/* ---------- motion: the signature is the drawn rule ---------------------- */
@media (prefers-reduced-motion:no-preference){
  .drawn{animation:draw .5s cubic-bezier(.22,.61,.36,1) both}
  @keyframes draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  tbody tr{transition:transform .18s cubic-bezier(.22,.61,.36,1)}
}

/* ---------- mobile: its own layout, not a squeezed desktop ---------------- */
@media (max-width:760px){
  body{font-size:16.5px;line-height:1.65}
  .wrap,.standing{padding:0 20px}
  /* six of the seven standing rules collapse; the rank gutter rule survives,
     so the phone view is recognisably the same sheet */
  .standing{grid-template-columns:1fr}
  .standing i:nth-child(n+2){display:none}
  .masthead{padding:30px 0 10px}
  .masthead h1,.masthead .mh{max-width:none;font-size:clamp(30px,8.6vw,44px)}
  .editionline{margin-top:18px}
  nav.reg li{padding:0 12px}
  section{padding:26px 0 8px}
  .lede{font-size:18.5px}
  .counts{grid-template-columns:1fr 1fr;gap:14px 0}
  .counts div{border-left:0;border-top:1px solid var(--rule-soft);padding:10px 0 0}
  .counts div:nth-child(2n){padding-left:16px;border-left:1px solid var(--rule-soft)}
  .counts b{font-size:30px}
  .seal{float:none;margin:0 0 16px}

  /* each row restacks into an entry. Not a scaled table, not a scroller. */
  table.stack,table.stack tbody,table.stack tr,table.stack td{display:block;width:100%}
  /* the table is a block on the phone, so its caption must be one too */
  table.stack caption,table.record caption{display:block;padding-bottom:14px}
  table.stack thead{position:absolute;left:-9999px}
  table.stack tr{border-bottom:1px solid var(--rule-soft);padding:18px 0 16px;position:relative}
  table.stack tr:last-child{border-bottom-color:var(--rule)}
  table.stack tbody td{border:0;padding:3px 0}
  table.stack tbody tr:last-child td{border-bottom:0}
  table.stack td.rank{position:absolute;left:0;top:18px;width:48px;
    font-size:24px;padding:0}
  table.stack tr{padding-left:60px}
  table.stack td[data-label]::before{
    content:attr(data-label);font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;
    text-transform:uppercase;color:var(--support);display:block;margin-bottom:1px;
  }
  table.stack td.num,table.stack td.score{text-align:left}
  table.record td:first-child,table.record th:first-child{width:auto}
  table.record th[scope="row"],table.record td{display:block;width:100%;padding:9px 0}
  table.record th[scope="row"]{border-bottom:0;padding-bottom:0}
  table.record td{border-bottom:1px solid var(--rule-soft);padding-top:2px}
  tfoot td{padding-left:0;padding-right:0}
  a.rera{min-width:0}
  td.entry{width:auto;min-width:0}
}
