/* FinLens — Value Garage Private Limited
   Shared stylesheet. Rule: facts are set in mono, claims in sans.

   Fonts are SELF-HOSTED, not imported from fonts.googleapis.com, and that is a
   product decision rather than a performance one. The Content-Security-Policy on
   this site is `default-src 'none'`, so a CDN import is blocked outright and the
   whole type identity would silently fall back to system faces. It also removes a
   third-party request from every page view — a privacy-first product that reports
   each of its visitors to Google on page load is exactly the contradiction the
   rest of this site exists to avoid. Latin subset only, 304 KB total. */

@font-face{font-family:'Archivo';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/archivo-400.woff2') format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/archivo-600.woff2') format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/archivo-800.woff2') format('woff2')}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/public-sans-400.woff2') format('woff2')}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/public-sans-500.woff2') format('woff2')}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/public-sans-600.woff2') format('woff2')}
@font-face{font-family:'Public Sans';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/public-sans-400i.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/jetbrains-mono-400.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/jetbrains-mono-500.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/jetbrains-mono-700.woff2') format('woff2')}



:root{
  --paper:#E9EBE6;
  --paper-2:#F4F5F1;
  --ink:#141A16;
  --pine:#23392F;
  --signal:#C8860D;
  --signal-soft:#F0DCA8;
  --redact:#C3C7BE;
  --rule:#CBCEC5;
  --mute:#5D6459;

  --sans:"Public Sans",system-ui,sans-serif;
  --display:"Archivo",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,monospace;

  --rail:1140px;
  --gutter:clamp(18px,5vw,64px);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
}

a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--signal);outline-offset:3px;border-radius:2px;
}

.rail{max-width:var(--rail);margin:0 auto;padding:0 var(--gutter)}

/* ---------- type ---------- */
h1,h2,h3{font-family:var(--display);font-weight:800;letter-spacing:-.028em;line-height:1.04;margin:0}
h1{font-size:clamp(2.6rem,6.6vw,4.7rem)}
h2{font-size:clamp(1.9rem,3.9vw,2.9rem)}
h3{font-size:1.14rem;font-weight:600;letter-spacing:-.012em;line-height:1.3}
p{margin:0 0 1.05em}
.lede{font-size:clamp(1.06rem,1.9vw,1.28rem);color:var(--pine);max-width:60ch}
.small{font-size:.9rem;color:var(--mute)}

.eyebrow{
  font-family:var(--mono);font-size:.72rem;font-weight:500;
  letter-spacing:.17em;text-transform:uppercase;color:var(--mute);
  display:flex;align-items:center;gap:14px;margin:0 0 26px;
}
.eyebrow::after{content:"";flex:1;height:1px;background:var(--rule)}

.fact{font-family:var(--mono);font-size:.94em;letter-spacing:-.01em}

/* ---------- header ---------- */
.masthead{
  position:sticky;top:0;z-index:60;
  background:color-mix(in srgb,var(--paper) 88%,transparent);
  backdrop-filter:blur(9px);
  border-bottom:1px solid var(--rule);
}
.masthead .rail{display:flex;align-items:center;gap:22px;height:62px}
.wordmark{font-family:var(--display);font-weight:800;font-size:1.06rem;letter-spacing:-.03em;margin-right:auto}
.wordmark span{color:var(--signal)}
.navlinks{display:flex;gap:22px;font-family:var(--mono);font-size:.79rem;letter-spacing:.03em}
.navlinks a{color:var(--mute)}
.navlinks a:hover{color:var(--ink)}
@media(max-width:800px){.navlinks{display:none}}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--mono);font-size:.83rem;font-weight:500;letter-spacing:.02em;
  padding:13px 21px;border:1px solid var(--ink);background:var(--ink);color:var(--paper-2);
  cursor:pointer;transition:transform .16s ease,background .16s ease;
}
.btn:hover{transform:translateY(-1px);background:var(--pine)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--paper-2)}

/* ---------- sections ---------- */
section{padding:clamp(58px,8vw,104px) 0;border-top:1px solid var(--rule)}
section:first-of-type{border-top:0}
.hero{padding-top:clamp(44px,6vw,76px)}

/* ---------- hero extraction panel ---------- */
.hero-grid{display:grid;grid-template-columns:1fr;gap:44px;align-items:start}
@media(min-width:960px){.hero-grid{grid-template-columns:1.02fr .98fr;gap:56px}}

.panel{border:1px solid var(--ink);background:var(--paper-2)}
.panel-bar{
  display:flex;align-items:center;gap:9px;padding:9px 14px;
  border-bottom:1px solid var(--rule);
  font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)
}
.dot{width:7px;height:7px;background:var(--signal);border-radius:50%}
.panel-body{padding:18px 18px 22px;font-size:.9rem}

.maildoc{font-family:var(--mono);font-size:.79rem;line-height:1.95;color:var(--pine)}
.maildoc .row{display:block}
.blk{
  display:inline-block;border-radius:1px;
  transition:background .5s ease,color .5s ease;
}
.is-live .blk{background:var(--redact);color:transparent}
.is-live .keep{background:transparent;color:var(--ink);font-weight:700;box-shadow:inset 0 -.55em 0 var(--signal-soft)}

.fields{list-style:none;margin:0;padding:0;font-family:var(--mono);font-size:.8rem}
.fields li{
  display:flex;justify-content:space-between;gap:16px;
  padding:11px 0;border-bottom:1px dashed var(--rule);
  opacity:0;transform:translateY(6px);
  transition:opacity .45s ease,transform .45s ease;
}
.is-live .fields li{opacity:1;transform:none}
.is-live .fields li:nth-child(2){transition-delay:.1s}
.is-live .fields li:nth-child(3){transition-delay:.2s}
.is-live .fields li:nth-child(4){transition-delay:.3s}
.is-live .fields li:nth-child(5){transition-delay:.4s}
.fields b{color:var(--mute);font-weight:500}
.fields span{color:var(--ink);font-weight:700}

@media (prefers-reduced-motion:reduce){
  .blk,.fields li{transition:none}
}

/* ---------- flow (ingest / extract / return) ---------- */
.flow{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule)}
@media(min-width:820px){.flow{grid-template-columns:repeat(3,1fr)}}
.flow > div{background:var(--paper-2);padding:28px 24px}
.flow .path{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;color:var(--signal);margin-bottom:16px;text-transform:lowercase}
.flow h3{margin-bottom:9px}
.flow p{margin:0;font-size:.93rem;color:var(--pine)}

/* ---------- never list ---------- */
.never{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule)}
@media(min-width:720px){.never{grid-template-columns:1fr 1fr}}
.never li{background:var(--paper-2);padding:20px 22px;font-size:.95rem;color:var(--pine);display:flex;gap:13px}
.never li::before{
  content:"";flex:0 0 26px;height:11px;background:var(--redact);margin-top:8px;border-radius:1px
}

/* ---------- generic cards ---------- */
.cards{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule)}
@media(min-width:760px){.cards{grid-template-columns:1fr 1fr}}
.cards > div{background:var(--paper-2);padding:26px 24px}
.cards h3{margin-bottom:8px}
.cards p{margin:0;font-size:.94rem;color:var(--pine)}

/* ---------- spec table ---------- */
.spec{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:.82rem}
.spec th,.spec td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--rule);vertical-align:top}
.spec th{color:var(--mute);font-weight:500;letter-spacing:.05em;text-transform:uppercase;font-size:.72rem}
.spec td:first-child{white-space:nowrap;color:var(--pine)}
.wrap{overflow-x:auto}

/* ---------- contact ---------- */
.contact-grid{display:grid;gap:38px}
@media(min-width:900px){.contact-grid{grid-template-columns:1fr 1fr;gap:56px}}
.field{display:block;margin-bottom:16px}
.field span{
  display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--mute);margin-bottom:7px
}
.field input,.field select,.field textarea{
  width:100%;padding:12px 13px;font-family:var(--sans);font-size:.97rem;
  border:1px solid var(--rule);background:var(--paper-2);color:var(--ink)
}
.field textarea{min-height:104px;resize:vertical}

/* ---------- legal pages ---------- */
.doc{max-width:78ch}
.doc h2{font-size:clamp(1.5rem,2.7vw,2rem);margin:52px 0 16px}
.doc h3{margin:30px 0 10px;font-size:1.05rem}
.doc ul,.doc ol{padding-left:1.15rem;margin:0 0 1.05em}
.doc li{margin-bottom:.5em}
.doc a{border-bottom:1px solid var(--signal)}
.callout{
  border-left:3px solid var(--signal);background:var(--paper-2);
  padding:20px 22px;margin:26px 0;font-size:.96rem
}
.callout p:last-child{margin-bottom:0}
.stamp{
  font-family:var(--mono);font-size:.76rem;letter-spacing:.05em;color:var(--mute);
  border:1px solid var(--rule);padding:14px 16px;margin-bottom:40px;background:var(--paper-2)
}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--rule);padding:52px 0 60px;background:var(--paper-2)}
.foot-grid{display:grid;gap:30px}
@media(min-width:760px){.foot-grid{grid-template-columns:1.4fr 1fr 1fr}}
.foot-grid h4{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--mute);margin:0 0 13px;font-weight:500
}
.foot-grid ul{list-style:none;margin:0;padding:0;font-size:.92rem}
.foot-grid li{margin-bottom:8px}
.foot-grid a:hover{color:var(--signal)}
.entity{font-family:var(--mono);font-size:.75rem;line-height:2;color:var(--mute);margin-top:38px;padding-top:24px;border-top:1px solid var(--rule)}
