/* ═══════════════════════════════════════════════════════════════════
   THE LEDGER — design system for Gaurs Studio Bento (Gaur Yamuna City,
   Sector 19). Print-native, single-look (light theme, committed).
   Tokens, type, ticker, hero, index-card system, FAQ, forms, print.
   Locked palette: ink / paper / cobalt (single accent) / gold (verified
   + hairline inlays only) / hairline.
   ═══════════════════════════════════════════════════════════════════ */

:root{
  --ink:#14161A;
  --ink-soft:rgba(20,22,26,.62);
  --ink-faint:rgba(20,22,26,.42);
  --paper:#F4F5F1;
  --card:#FFFFFF;
  --cobalt:#2E4BD1;
  --cobalt-wash:rgba(46,75,209,.07);
  --gold:#B08D3D;
  --gold-ink:#7A5F26;
  --gold-wash:rgba(176,141,61,.09);
  --hairline:#C9CBC6;
  --radius:2px;
  --wrap:1120px;
  --font-display:'Archivo',Arial,Helvetica,sans-serif;
  --font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --font-mono:'IBM Plex Mono','SFMono-Regular',Consolas,'Liberation Mono',monospace;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
html,body{overflow-x:hidden;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font:400 1rem/1.6 var(--font-body);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:var(--cobalt);text-decoration-thickness:1px;text-underline-offset:2px;}
a:hover{text-decoration-thickness:2px;}
*:focus-visible{outline:3px solid var(--cobalt);outline-offset:2px;}
::selection{background:var(--cobalt);color:#fff;}

.skip-link{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:200;font:600 .85rem var(--font-body);}
.skip-link:focus{left:.5rem;top:.5rem;}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(1rem,4vw,2rem);}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;}
.fine{font-size:.78rem;line-height:1.7;color:var(--ink-soft);}
.center{text-align:center;}

h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;letter-spacing:-.01em;line-height:1.12;margin:0 0 .6rem;color:var(--ink);}
h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-top:2.4rem;}
h3{font-size:1.08rem;}
p{margin:0 0 1rem;}
.lede{font-size:clamp(1rem,1.6vw,1.2rem);line-height:1.6;color:var(--ink-soft);max-width:64ch;}

/* ── HEADER ── */
.ledger-head{border-bottom:1px solid var(--hairline);background:var(--paper);}
.ledger-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1rem;padding-bottom:1rem;flex-wrap:wrap;}
.ledger-mark{font-family:var(--font-mono);font-weight:600;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);text-decoration:none;white-space:nowrap;}
.ledger-mark b{color:var(--cobalt);}
.ledger-nav{display:flex;gap:1.35rem;flex-wrap:wrap;font:600 .78rem var(--font-mono);letter-spacing:.03em;text-transform:uppercase;}
.ledger-nav a{color:var(--ink-soft);text-decoration:none;}
.ledger-nav a:hover,.ledger-nav a[aria-current="page"]{color:var(--cobalt);}
.ledger-cta{display:flex;align-items:center;gap:.75rem;}
.ledger-cta .tel{font:600 .82rem var(--font-mono);color:var(--ink);text-decoration:none;white-space:nowrap;}
.menu-btn{display:none;background:none;border:1px solid var(--hairline);border-radius:var(--radius);width:38px;height:38px;padding:0;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:4px;}
.menu-btn span{display:block;width:18px;height:2px;background:var(--ink);}
@media (max-width:760px){
  .ledger-nav{display:none;width:100%;order:3;flex-direction:column;gap:0;background:var(--card);border-top:1px solid var(--hairline);margin-top:.75rem;}
  .ledger-nav a{padding:.7rem 0;border-bottom:1px solid var(--hairline);}
  body.nav-open .ledger-nav{display:flex;}
  .menu-btn{display:flex;}
  .ledger-cta .tel span{display:none;}
}

/* ── TICKER ── */
.ledger-ticker{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);background:var(--paper);}
.ledger-ticker .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem .9rem;padding:.65rem clamp(1rem,4vw,2rem);}
.ledger-ticker span{font:600 .72rem/1.5 var(--font-mono);letter-spacing:.03em;text-transform:uppercase;color:var(--ink);white-space:nowrap;}
.ledger-ticker .sep{color:var(--hairline);}
@media (max-width:560px){.ledger-ticker span{font-size:.66rem;}}

/* ── HERO (a ledger entry being written) ── */
.ledger-hero{padding:clamp(2rem,5vw,3.25rem) 0 clamp(1.5rem,4vw,2.25rem);}
.entry-eyebrow{display:block;font:600 .74rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.9rem;}
.ledger-hero h1{font-size:clamp(1.7rem,4.4vw,2.9rem);max-width:20ch;}
.ledger-hero h1 em{font-style:normal;color:var(--cobalt);}
.ledger-hero .lede{margin-top:.85rem;}
.breadcrumb{font:600 .72rem var(--font-mono);text-transform:uppercase;letter-spacing:.03em;color:var(--ink-faint);margin-bottom:1rem;}
.breadcrumb a{color:var(--ink-faint);}
.entered-stamp{margin-top:1.5rem;padding-top:.85rem;border-top:1px dashed var(--hairline);font:600 .7rem var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);}

/* ── TWO-COLUMN CONTENT + SIDEBAR LEAD-CARD (price page) ── */
.price-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:2rem;align-items:start;}
@media (max-width:900px){.price-layout{grid-template-columns:minmax(0,1fr);}}

/* ── INDEX-CARD SYSTEM ── */
.ledger-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin:1.75rem 0;}
.ledger-grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));}
.card{background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius);padding:1.3rem 1.45rem;position:relative;}
.card.span-all{grid-column:1/-1;}
.card .ref{display:block;font:600 .66rem var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.6rem;}
.card h3{margin-bottom:.5rem;}
.card p{margin-bottom:.6rem;font-size:.94rem;color:var(--ink);}
.card p:last-child{margin-bottom:0;}
.card .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600;}
.card .big{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600;font-size:clamp(1.5rem,3.6vw,2.15rem);color:var(--ink);line-height:1.1;margin:.15rem 0 .35rem;}
.card .sub{font-size:.84rem;color:var(--ink-soft);}

/* verification tags */
.tag{display:inline-flex;align-items:center;gap:.4em;font:600 .66rem var(--font-mono);letter-spacing:.07em;text-transform:uppercase;padding:.32em .65em;border-radius:var(--radius);margin-bottom:.7rem;}
.tag-verified{color:var(--gold-ink);border:1px solid var(--gold);background:var(--gold-wash);}
.tag-founder{color:var(--cobalt);border:1px solid var(--cobalt);background:var(--cobalt-wash);}
.tag-reported{color:var(--ink-soft);border:1px solid var(--hairline);background:transparent;}
.tag-unverified{color:var(--ink);border:1px dashed var(--ink);background:transparent;}

/* RERA card — deliberately prominent */
.card.rera-card{border:2px solid var(--ink);background:repeating-linear-gradient(135deg,var(--card),var(--card) 18px,rgba(20,22,26,.025) 18px,rgba(20,22,26,.025) 19px);}
.card.rera-card h3{font-size:1.25rem;}

/* arithmetic block */
.arith{font-family:var(--font-mono);font-variant-numeric:tabular-nums;background:var(--cobalt-wash);border:1px solid var(--cobalt);border-radius:var(--radius);padding:.9rem 1rem;font-size:clamp(.8rem,2.6vw,.95rem);color:var(--ink);margin:.6rem 0;line-height:1.5;white-space:normal;overflow-wrap:break-word;}

/* ── FAQ (native <details>/<summary> — accessible, byte-sync-checkable;
   defaults open via the `open` attribute so the page reads exactly like the
   always-visible ledger design; the marker is hidden and the row is still
   collapsible for anyone who wants to close entries) ── */
.faq-list{margin-top:.5rem;}
.faq-item{border-top:1px solid var(--hairline);padding:1.15rem 0;}
.faq-item:last-child{border-bottom:1px solid var(--hairline);}
.faq-item summary{list-style:none;cursor:pointer;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-q{font-family:var(--font-display);font-weight:800;font-size:1rem;margin:0 0 .5rem;display:flex;gap:.6rem;}
.faq-q .qn{font-family:var(--font-mono);color:var(--cobalt);font-weight:600;flex:none;}
.faq-q::after{content:'−';margin-left:auto;font-family:var(--font-mono);color:var(--ink-faint);flex:none;}
.faq-item:not([open]) .faq-q::after{content:'+';}
.faq-a{font-size:.94rem;color:var(--ink);margin:.5rem 0 0;}
.faq-a a{white-space:nowrap;}

/* ── VIDEO CARD (walkthrough) ── */
.video-card{max-width:340px;margin:0 auto;}
.video-card .video-frame{position:relative;border:1px solid var(--hairline);border-radius:var(--radius);overflow:hidden;background:var(--paper);}
.video-card video{display:block;width:100%;height:auto;aspect-ratio:478/850;background:var(--paper);}
.video-card figcaption{margin-top:.6rem;text-align:center;}

/* ── EXHIBIT PLATES (framed reference images — kit exhibits, Ledger
   convention: hairline border, mono caption strip, same tag vocabulary
   as the cards that hold them) ── */
.exhibit{margin:0;}
.exhibit-frame{border:1px solid var(--hairline);border-radius:var(--radius);overflow:hidden;background:var(--paper);}
.exhibit-frame img{width:100%;height:auto;display:block;}
.exhibit-frame--portrait{max-width:560px;margin:0 auto;}
.exhibit figcaption{margin-top:.7rem;padding-top:.55rem;border-top:1px dashed var(--hairline);font:600 .68rem/1.6 var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);}
.exhibit-pair{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;}
@media (max-width:560px){.exhibit-pair{grid-template-columns:1fr;}}

/* ── LISTS ── */
.ledger-list{margin:0 0 1rem;padding:0;list-style:none;counter-reset:led;}
.ledger-list li{counter-increment:led;position:relative;padding:.65rem 0 .65rem 2.2rem;border-top:1px solid var(--hairline);font-size:.94rem;}
.ledger-list li:last-child{border-bottom:1px solid var(--hairline);}
.ledger-list li::before{content:counter(led,decimal-leading-zero);position:absolute;left:0;top:.65rem;font:600 .78rem var(--font-mono);color:var(--cobalt);}

/* ── LEDGER TABLE (payment-plan milestone schedule) ── */
.ledger-table{width:100%;border-collapse:collapse;font-size:.92rem;margin:.5rem 0 0;}
.ledger-table caption{caption-side:top;text-align:left;font:600 .7rem var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.6rem;}
.ledger-table th,.ledger-table td{border-top:1px solid var(--hairline);padding:.65rem .75rem;text-align:left;}
.ledger-table thead th{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);border-top:none;border-bottom:1px solid var(--ink);}
.ledger-table td.num,.ledger-table th.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;}
.ledger-table tbody tr:last-child td{font-weight:600;}
@media (max-width:560px){.ledger-table{font-size:.85rem;}.ledger-table th,.ledger-table td{padding:.55rem .5rem;}}

/* ── CTA / FORMS ── */
.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;}
.btn{font:700 .85rem var(--font-display);letter-spacing:.01em;padding:.85em 1.45em;border-radius:var(--radius);text-decoration:none;display:inline-flex;align-items:center;gap:.55em;cursor:pointer;border:1px solid transparent;line-height:1.2;}
.btn-cobalt{background:var(--cobalt);color:#fff;}
.btn-cobalt:hover{background:#2540b8;}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--ink);}
.btn-outline:hover{background:var(--ink);color:var(--paper);}
.btn-block{width:100%;justify-content:center;}

.lead-card{background:var(--card);border:1px solid var(--hairline);border-top:3px solid var(--cobalt);border-radius:var(--radius);padding:1.5rem 1.6rem;}
.lead-card h3{margin-bottom:.3rem;}
.field{margin-bottom:.85rem;}
.field label{display:block;font:600 .72rem var(--font-mono);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35rem;color:var(--ink-soft);}
.field input,.field select{width:100%;border:1px solid var(--hairline);background:#fff;padding:.65em .75em;font:400 .95rem var(--font-body);border-radius:var(--radius);color:var(--ink);}
.field input:focus-visible,.field select:focus-visible{border-color:var(--cobalt);}
.form-err{color:#B3261E;font-size:.82rem;display:none;margin:-.3rem 0 .7rem;}
.form-err.show{display:block;}
.form-note{font-size:.74rem;color:var(--ink-faint);margin-top:.75rem;}
.form-thankyou{display:none;text-align:center;padding:.5rem 0;}
.form-thankyou.show{display:block;}
.form-thankyou .check{width:44px;height:44px;margin:0 auto .7rem;border-radius:50%;background:var(--cobalt-wash);color:var(--cobalt);display:flex;align-items:center;justify-content:center;}
.form-thankyou .check svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;}
.wa-fallback{margin-top:.6rem;}

/* ── DECODE-LINK STRIP ── */
.decode-strip{border:1px dashed var(--hairline);border-radius:var(--radius);padding:1rem 1.2rem;margin:1.5rem 0;font-size:.9rem;}
.decode-strip a{font-weight:600;}

/* ── SECTION DIVIDERS ── */
.hr{border:0;border-top:1px solid var(--hairline);margin:2.25rem 0;}

/* ── FOOTER / DISCLOSURE ── */
.ledger-foot{border-top:1px solid var(--hairline);margin-top:3rem;padding:2rem 0 1.25rem;}
.foot-links{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;font:600 .74rem var(--font-mono);text-transform:uppercase;letter-spacing:.03em;margin-bottom:1.25rem;}
.foot-links a{color:var(--ink-soft);}
.disclosure{border-top:1px solid var(--hairline);padding-top:1.4rem;font-size:.79rem;line-height:1.75;color:var(--ink-soft);}
.disclosure strong{color:var(--ink);}
.disclosure p{margin-bottom:.9rem;}

/* ── WA FLOAT ── */
.wa-float{position:fixed;right:1.1rem;bottom:1.1rem;width:52px;height:52px;border-radius:50%;background:var(--cobalt);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(20,22,26,.25);z-index:80;}
.wa-float svg{width:26px;height:26px;fill:#fff;}

/* ── MOTION (one orchestrated moment: cards settle in) ── */
.reveal{opacity:0;transform:translateY(8px);transition:opacity .24s ease-out,transform .24s ease-out;transition-delay:calc(var(--i,0)*40ms);}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .reveal{transition:none!important;opacity:1!important;transform:none!important;}
}

/* ── PRINT (the page IS a ledger) ── */
@media print{
  .no-print,.ledger-nav,.menu-btn,.ledger-cta,.cta-row,.wa-float,.lead-card form,.form-note{display:none!important;}
  body{background:#fff;color:#000;}
  .ledger-ticker,.ledger-head{border-color:#000;}
  .card{border:1px solid #000!important;background:#fff!important;break-inside:avoid;}
  .card.rera-card{background:#fff!important;}
  a{color:#000;text-decoration:underline;}
  .print-stamp{display:block!important;margin-top:1rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;}
}
.print-stamp{display:none;}

/* ── RESPONSIVE FLOOR: 360px ── */
@media (max-width:380px){
  .wrap{padding:0 .85rem;}
  .card{padding:1.05rem 1.1rem;}
  .lead-card{padding:1.2rem 1.2rem;}
}
