/* ==========================================================================
   Chenvar Healthtech Private Limited — corporate site
   Design system: "the register"
   ========================================================================== */

:root{
  --ink:        #14171A;
  --ink-2:      #4A5158;
  --ink-3:      #7C858D;
  --paper:      #F3F4F1;
  --paper-2:    #FBFBFA;
  --rule:       #D5D8D2;
  --rule-2:     #E6E8E4;
  --seal:       #1B5E4B;
  --seal-soft:  #E4EDE8;
  --amber:      #96590E;

  --f-display: "Archivo", ui-sans-serif, system-ui, sans-serif;
  --f-body:    "Source Serif 4", Georgia, "Times New Roman", serif;
  --f-mono:    "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --wrap: 1180px;
  --gut: clamp(1.25rem, 4vw, 3rem);
  --band: clamp(4rem, 9vw, 7.5rem);
}

*,*::before,*::after{ 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(--f-body);
  font-size:1.0625rem;
  line-height:1.62;
  font-variant-numeric:lining-nums tabular-nums;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; display:block; }

a{ color:inherit; }

:focus-visible{
  outline:2px solid var(--seal);
  outline-offset:3px;
  border-radius:1px;
}

.wrap{
  width:100%;
  max-width:var(--wrap);
  margin-inline:auto;
  padding-inline:var(--gut);
}

.skip{
  position:absolute; left:-9999px; top:0;
  background:var(--ink); color:var(--paper);
  padding:.75rem 1rem; z-index:100;
  font-family:var(--f-mono); font-size:.75rem;
}
.skip:focus{ left:0; }

/* --- type roles ---------------------------------------------------------- */

.eyebrow{
  font-family:var(--f-mono);
  font-size:.6875rem;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--ink-3);
  margin:0 0 1.25rem;
  display:block;
}
.eyebrow--seal{ color:var(--seal); }

.display{
  font-family:var(--f-display);
  font-weight:600;
  font-variation-settings:"wdth" 112;
  font-size:clamp(2.4rem, 6.4vw, 4.6rem);
  line-height:1.02;
  letter-spacing:-.022em;
  margin:0;
  text-wrap:balance;
}

h2.head{
  font-family:var(--f-display);
  font-weight:600;
  font-variation-settings:"wdth" 108;
  font-size:clamp(1.75rem, 3.6vw, 2.6rem);
  line-height:1.1;
  letter-spacing:-.018em;
  margin:0 0 1.5rem;
  text-wrap:balance;
}

h3.sub{
  font-family:var(--f-display);
  font-weight:600;
  font-size:1.125rem;
  line-height:1.25;
  letter-spacing:-.008em;
  margin:0 0 .5rem;
}

.lede{
  font-size:clamp(1.125rem, 1.7vw, 1.3125rem);
  line-height:1.55;
  color:var(--ink-2);
  max-width:56ch;
  margin:1.75rem 0 0;
}

.prose p{ max-width:68ch; color:var(--ink-2); }
.prose p:first-child{ margin-top:0; }

.mono{ font-family:var(--f-mono); font-size:.8125rem; letter-spacing:.01em; }

/* Trade mark symbol — unregistered marks only. Never swap for the registered
   symbol until a registration certificate is actually issued. */
.tm{
  font-family:var(--f-mono);
  font-size:.40em;
  font-weight:400;
  vertical-align:.78em;
  letter-spacing:.02em;
  margin-left:.1em;
  line-height:0;
}

/* --- header -------------------------------------------------------------- */

.site-head{
  position:sticky; top:0; z-index:50;
  background:color-mix(in srgb, var(--paper) 88%, transparent);
  backdrop-filter:saturate(1.6) blur(10px);
  border-bottom:1px solid var(--rule);
}
.head-in{
  display:flex; align-items:center; gap:1.5rem;
  min-height:64px;
}
.mark{
  font-family:var(--f-display);
  font-weight:700;
  font-variation-settings:"wdth" 118;
  font-size:.9375rem;
  letter-spacing:.10em;
  text-transform:uppercase;
  text-decoration:none;
  white-space:nowrap;
}
.mark{ display:inline-flex; align-items:center; gap:.55rem; }
.mark .wm{ display:inline-block; }
.mark .wm span{ color:var(--seal); }
.mk{ width:1.55rem; height:1.55rem; flex:none; display:block; }
.site-foot .mk{ width:1.7rem; height:1.7rem; }
@media (max-width:420px){ .mk{ width:1.35rem; height:1.35rem; } }

.nav{ margin-left:auto; display:flex; align-items:center; gap:1.6rem; }
.nav a{
  font-family:var(--f-mono);
  font-size:.75rem;
  letter-spacing:.07em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--ink-2);
  padding-block:.35rem;
  border-bottom:1px solid transparent;
  transition:color .18s, border-color .18s;
}
.nav a:hover{ color:var(--ink); border-bottom-color:var(--seal); }
.nav a[aria-current="page"]{ color:var(--ink); border-bottom-color:var(--seal); }

.nav-toggle{
  display:none; margin-left:auto;
  background:none; border:1px solid var(--rule);
  font-family:var(--f-mono); font-size:.6875rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--ink);
  padding:.5rem .75rem; cursor:pointer;
}

@media (max-width: 940px){
  .nav-toggle{ display:block; }
  .nav{
    display:none; position:absolute; left:0; right:0; top:100%;
    flex-direction:column; align-items:stretch; gap:0;
    background:var(--paper-2); border-bottom:1px solid var(--rule);
    padding:.5rem var(--gut) 1.25rem;
  }
  .nav.open{ display:flex; }
  .nav a{ padding-block:.85rem; border-bottom:1px solid var(--rule-2); }
}

/* --- hero / statutory head ----------------------------------------------- */

.hero{ padding-top:clamp(3.5rem, 8vw, 6.5rem); padding-bottom:var(--band); }

.hero .display{ max-width:17ch; }

.stat-strip{
  margin:clamp(2.5rem,5vw,3.75rem) 0 2.25rem;
  border-top:1.5px solid var(--ink);
}
.stat-row{
  display:grid;
  grid-template-columns:minmax(9.5rem, 15rem) 1fr;
  gap:1rem;
  border-bottom:1px solid var(--rule);
  padding:.7rem 0;
}
.stat-row dt{
  font-family:var(--f-mono); font-size:.6875rem; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3);
  margin:0; padding-top:.15rem;
}
.stat-row dd{
  margin:0; font-family:var(--f-mono); font-size:.8125rem; color:var(--ink);
}

.actions{ display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2.25rem; }

.btn{
  display:inline-block; text-decoration:none;
  font-family:var(--f-mono); font-size:.75rem; letter-spacing:.10em;
  text-transform:uppercase; padding:.9rem 1.5rem;
  border:1px solid var(--ink); background:var(--ink); color:var(--paper);
  transition:background .18s, color .18s, border-color .18s;
}
.btn:hover{ background:var(--seal); border-color:var(--seal); }
.btn--ghost{ background:transparent; color:var(--ink); border-color:var(--rule); }
.btn--ghost:hover{ background:transparent; color:var(--seal); border-color:var(--seal); }
.btn--invert{ background:var(--paper); color:var(--ink); border-color:var(--paper); }
.btn--invert:hover{ background:var(--seal); color:var(--paper); border-color:var(--seal); }
.band--ink .btn--ghost{ color:var(--paper); border-color:#3A4045; }
.band--ink .btn--ghost:hover{ color:var(--paper); border-color:var(--paper); }

/* --- bands --------------------------------------------------------------- */

.band{ padding-block:var(--band); border-top:1px solid var(--rule); }
.band--paper2{ background:var(--paper-2); }
.band--ink{ background:var(--ink); color:var(--paper); border-top:none; }
.band--ink .head, .band--ink h3.sub{ color:var(--paper); }
.band--ink .eyebrow{ color:#8E9A93; }
.band--ink p{ color:#B9C0BC; }
.band--ink .band-head p{ color:#B9C0BC; }
.band--ink .reg-row{ border-color:#2B3034; }
.band--ink .reg-name{ color:var(--paper); }
.band--ink .reg-id{ color:#7F8B85; }
.band--ink .reg-desc{ color:#B9C0BC; }

.band-head{ max-width:62ch; margin-bottom:clamp(2.5rem,5vw,3.5rem); }
.band-head p{ margin:0; color:var(--ink-2); font-size:1.0625rem; }

/* --- the register -------------------------------------------------------- */

.register{ border-top:1.5px solid currentColor; }

.reg-row{
  display:grid;
  grid-template-columns:3.5rem minmax(11rem, 15rem) 1fr auto;
  gap:1.25rem;
  align-items:baseline;
  padding:1.5rem 0;
  border-bottom:1px solid var(--rule);
  text-decoration:none;
}
a.reg-row{ transition:padding-left .22s ease, border-color .22s; }
a.reg-row:hover{ padding-left:.625rem; border-bottom-color:var(--seal); }
a.reg-row:hover .reg-name{ color:var(--seal); }

.reg-id{
  font-family:var(--f-mono); font-size:.75rem; letter-spacing:.1em;
  color:var(--ink-3); padding-top:.3rem;
}
.reg-name{
  font-family:var(--f-display); font-weight:600; font-size:1.1875rem;
  letter-spacing:-.01em; line-height:1.25; transition:color .18s;
}
.reg-name small{
  display:block; font-family:var(--f-mono); font-weight:400;
  font-size:.6875rem; letter-spacing:.11em; text-transform:uppercase;
  color:var(--ink-3); margin-top:.4rem;
}
.reg-desc{ color:var(--ink-2); font-size:.9375rem; line-height:1.5; max-width:52ch; }

.tag{
  font-family:var(--f-mono); font-size:.625rem; letter-spacing:.13em;
  text-transform:uppercase; white-space:nowrap;
  padding:.3rem .6rem; border:1px solid var(--rule); color:var(--ink-3);
}
.tag--live{ color:var(--seal); border-color:var(--seal); background:var(--seal-soft); }
.tag--beta{ color:var(--amber); border-color:color-mix(in srgb, var(--amber) 40%, transparent); }

@media (max-width: 560px){
  .stat-row{ grid-template-columns:1fr; gap:.25rem; }
  .stat-row dt{ padding-top:0; }
}

@media (max-width: 820px){
  .reg-row{ grid-template-columns:2.75rem 1fr; gap:.5rem 1rem; }
  .reg-desc{ grid-column:2; margin-top:.5rem; }
  .tag{ grid-column:2; justify-self:start; margin-top:.75rem; }
}

/* --- card grid ----------------------------------------------------------- */

.grid{ display:grid; gap:1px; background:var(--rule); border:1px solid var(--rule); }
.grid--3{ grid-template-columns:repeat(3,1fr); }
.grid--4{ grid-template-columns:repeat(4,1fr); }
.grid--2{ grid-template-columns:repeat(2,1fr); }
.cell{ background:var(--paper); padding:clamp(1.5rem,2.6vw,2.25rem); }
.band--paper2 .cell{ background:var(--paper-2); }
.cell p{ margin:0; color:var(--ink-2); font-size:.9375rem; line-height:1.55; }
.cell .idx{
  font-family:var(--f-mono); font-size:.6875rem; letter-spacing:.14em;
  color:var(--seal); display:block; margin-bottom:1.5rem;
}

@media (max-width: 900px){ .grid--4{ grid-template-columns:repeat(2,1fr); } }
@media (max-width: 760px){
  .grid--3,.grid--4,.grid--2{ grid-template-columns:1fr; }
}

/* --- list of capabilities ------------------------------------------------ */

.ticks{ list-style:none; margin:1rem 0 0; padding:0; }
.ticks li{
  padding:.5rem 0 .5rem 1.4rem; position:relative;
  font-size:.9375rem; color:var(--ink-2); border-bottom:1px solid var(--rule-2);
}
.ticks li::before{
  content:"—"; position:absolute; left:0; color:var(--seal);
  font-family:var(--f-mono); font-size:.75rem; top:.55rem;
}

/* --- contact / form ------------------------------------------------------ */

.split{ display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(2rem,6vw,5rem); }
@media (max-width: 860px){ .split{ grid-template-columns:1fr; } }

.field{ margin-bottom:1.25rem; }
.field label{
  display:block; font-family:var(--f-mono); font-size:.6875rem;
  letter-spacing:.13em; text-transform:uppercase; color:var(--ink-3);
  margin-bottom:.5rem;
}
.field input, .field select, .field textarea{
  width:100%; font-family:var(--f-body); font-size:1rem; color:var(--ink);
  background:var(--paper-2); border:1px solid var(--rule);
  padding:.8rem .9rem; border-radius:0;
}
.field textarea{ min-height:9rem; resize:vertical; }
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none; border-color:var(--seal); box-shadow:0 0 0 3px var(--seal-soft);
}
.form-note{ font-family:var(--f-mono); font-size:.6875rem; color:var(--ink-3); line-height:1.6; }

.status{ font-family:var(--f-mono); font-size:.75rem; margin-top:1rem; min-height:1.2rem; }
.status[data-state="ok"]{ color:var(--seal); }
.status[data-state="err"]{ color:var(--amber); }

/* --- legal / long-form --------------------------------------------------- */

.doc{ max-width:74ch; }
.doc h2{
  font-family:var(--f-display); font-weight:600; font-size:1.25rem;
  letter-spacing:-.01em; margin:2.75rem 0 .75rem; padding-top:1.25rem;
  border-top:1px solid var(--rule);
}
.doc h3{ font-family:var(--f-display); font-weight:600; font-size:1rem; margin:1.75rem 0 .5rem; }
.doc p, .doc li{ color:var(--ink-2); font-size:1rem; }
.doc ul{ padding-left:1.1rem; }
.doc li{ margin-bottom:.4rem; }

/* --- footer -------------------------------------------------------------- */

.site-foot{ background:var(--ink); color:#9AA4A0; padding-block:clamp(3rem,6vw,4.5rem) 2rem; }
.foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:2.5rem 2rem; }
@media (max-width: 860px){ .foot-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width: 520px){ .foot-grid{ grid-template-columns:1fr; } }

.site-foot .mark{ color:var(--paper); font-size:.875rem; }
.foot-col h4{
  font-family:var(--f-mono); font-size:.6875rem; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase; color:#6F7A75;
  margin:0 0 1rem;
}
.foot-col ul{ list-style:none; margin:0; padding:0; }
.foot-col li{ margin-bottom:.6rem; }
.foot-col a{
  font-size:.875rem; text-decoration:none; color:#B9C0BC;
  border-bottom:1px solid transparent; transition:color .16s, border-color .16s;
}
.foot-col a:hover{ color:var(--paper); border-bottom-color:#4C5652; }

.foot-legal{
  margin-top:clamp(2.5rem,5vw,3.5rem); padding-top:1.5rem;
  border-top:1px solid #2B3034;
  display:flex; flex-wrap:wrap; gap:.5rem 2rem; justify-content:space-between;
  font-family:var(--f-mono); font-size:.6875rem; letter-spacing:.04em; color:#6F7A75;
}
.foot-legal p{ margin:0; }

/* --- page-load sequence -------------------------------------------------- */

.rise{ opacity:0; transform:translateY(14px); }
.seq .rise{ animation:rise .62s cubic-bezier(.22,.68,.28,1) forwards; }
.seq .rise:nth-child(1){ animation-delay:.02s }
.seq .rise:nth-child(2){ animation-delay:.10s }
.seq .rise:nth-child(3){ animation-delay:.18s }
.seq .rise:nth-child(4){ animation-delay:.26s }
.seq .rise:nth-child(5){ animation-delay:.34s }

@keyframes rise{ to{ opacity:1; transform:none; } }

.reveal{ opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s cubic-bezier(.22,.68,.28,1); }
.reveal.in{ opacity:1; transform:none; }

@media (prefers-reduced-motion: reduce){
  .rise, .seq .rise{ opacity:1; transform:none; animation:none; }
  .reveal{ opacity:1; transform:none; transition:none; }
  a.reg-row:hover{ padding-left:0; }
}

@media print{
  .site-head,.site-foot,.actions,.nav-toggle{ display:none; }
  body{ background:#fff; }
}

/* Confirmed Chenvar identity — approved September 2026 */
.brand-logo{display:block;height:auto;object-fit:contain;}
.brand-logo--head{width:clamp(132px,15vw,190px);max-height:52px;}
.footer-logo-plate{display:inline-flex;background:#fff;border-radius:4px;padding:.45rem .6rem;}
.brand-logo--foot{width:180px;max-width:100%;}
@media (max-width:420px){.brand-logo--head{width:132px;max-height:46px;}}

.medclariva-brand{display:block;width:min(100%,360px);height:auto;margin:0 0 1.25rem;}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}

/* v2026-09-20 launch hotfix: hero content must never depend on animation support */
.hero .rise,
.seq .rise {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}
.hero {
  padding-top: clamp(2.75rem, 5vw, 4.5rem);
  padding-bottom: clamp(3.5rem, 7vw, 5.5rem);
}

/* 2026-09-20c corporate hero */
.hero--corporate{padding-top:clamp(3rem,6vw,5rem);padding-bottom:clamp(3.5rem,7vw,5.5rem);}
.hero--corporate .display{max-width:19ch;font-size:clamp(2.5rem,5vw,4.15rem);line-height:1.04;}
.hero--corporate .lede{max-width:48rem;margin-top:1.75rem;font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.55;}
.hero--corporate .actions{margin-top:2rem;}
@media (max-width:700px){.hero--corporate{padding-top:2.5rem;padding-bottom:3.25rem}.hero--corporate .display{font-size:clamp(2.25rem,11vw,3.25rem);}}
