/* BVANA LLC — corporate site
   Palette: charcoal ink / paper white / menswear camel */
:root{
  --ink:#22252A;
  --paper:#FCFCFA;
  --camel:#A8804F;
  --gray:#6A6F76;
  --line:#E3E1DC;
  --maxw:1100px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:'Inter',-apple-system,'Segoe UI',sans-serif;
  font-size:16px;line-height:1.7;
  color:var(--ink);background:var(--paper);
}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* header */
header{border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:baseline;justify-content:space-between;padding:28px 0}
.wordmark{
  font-family:'Archivo',sans-serif;font-weight:700;
  font-size:20px;letter-spacing:.32em;text-decoration:none;color:var(--ink);
}
.wordmark span{font-size:11px;letter-spacing:.18em;color:var(--gray);margin-left:.5em;font-weight:500}
nav.menu{display:flex;gap:28px;flex-wrap:wrap}
nav.menu a{
  text-decoration:none;color:var(--gray);font-size:14px;letter-spacing:.02em;
}
nav.menu a:hover,nav.menu a:focus-visible{color:var(--ink)}
nav.menu a[aria-current="page"]{color:var(--ink);border-bottom:2px solid var(--camel);padding-bottom:2px}
a:focus-visible{outline:2px solid var(--camel);outline-offset:3px}

/* hero / page head */
.hero{padding:88px 0 64px}
.eyebrow{
  font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--camel);margin-bottom:20px;
}
h1{
  font-family:'Archivo',sans-serif;font-weight:600;
  font-size:clamp(28px,5vw,42px);line-height:1.25;letter-spacing:-.01em;
  max-width:21em;
}
.lede{margin-top:24px;font-size:18px;color:var(--gray);max-width:36em}

/* sections */
section{padding:56px 0;border-top:1px solid var(--line)}
h2{
  font-family:'Archivo',sans-serif;font-weight:600;font-size:22px;margin-bottom:20px;
}
p+p{margin-top:1em}
main p{max-width:40em}
.muted{color:var(--gray)}
a.inline{color:var(--ink);text-decoration:underline;text-decoration-color:var(--camel);text-underline-offset:3px}

/* registry block — signature element */
.registry{
  font-family:'IBM Plex Mono',monospace;font-size:14px;line-height:1.6;
  border:1px solid var(--ink);margin-top:8px;
}
.registry .rtitle{
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:12px 20px;background:var(--ink);color:var(--paper);
  font-size:12px;letter-spacing:.12em;text-transform:uppercase;
}
.registry dl{display:grid;grid-template-columns:max-content 1fr;}
.registry dt{
  padding:12px 20px;color:var(--gray);border-top:1px solid var(--line);
  font-size:12px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;
}
.registry dd{padding:12px 20px 12px 0;border-top:1px solid var(--line);word-break:break-word}
.registry dt:first-of-type,.registry dd:first-of-type{border-top:none}

/* brand card */
.brand{border:1px solid var(--line);padding:32px;margin-top:24px}
.brand h3{
  font-family:'Archivo',sans-serif;font-weight:700;font-size:24px;letter-spacing:.22em;
}
.brand .tag{
  font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--camel);
  letter-spacing:.1em;text-transform:uppercase;margin-top:6px;
}
.brand p{margin-top:16px}

/* footer — ink block with camel stitch line */
footer{background:var(--ink);border-top:3px solid var(--camel);margin-top:56px}
.foot{
  padding:40px 0 52px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;
  font-size:13px;color:#9BA0A6;
}
.foot .flogo{display:block;margin-bottom:16px}
.foot .addr{font-style:normal;line-height:1.8}
.foot .fmeta{text-align:right;line-height:2}
.foot a{color:#C9CDD2}
.foot a:hover{color:#FFFFFF}
@media (max-width:560px){.foot .fmeta{text-align:left}}

@media (max-width:560px){
  .nav{flex-direction:column;gap:16px}
  .hero{padding:56px 0 40px}
  .registry dl{grid-template-columns:1fr}
  .registry dt{border-top:1px solid var(--line);padding-bottom:0}
  .registry dd{padding:4px 20px 12px;border-top:none}
}
@media (prefers-reduced-motion:no-preference){
  .hero>*{animation:rise .5s ease both}
  .hero>*:nth-child(2){animation-delay:.08s}
  .hero>*:nth-child(3){animation-delay:.16s}
  @keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
}

/* partner logo wall */
.partners{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);margin-top:24px;
}
.partners .cell{
  background:var(--paper);display:flex;align-items:center;justify-content:center;
  padding:28px 24px;min-height:110px;
}
.partners img{
  max-width:150px;max-height:56px;width:100%;height:auto;object-fit:contain;
  filter:grayscale(1) opacity(.62);transition:filter .25s ease;
}
.partners .cell:hover img{filter:none}
@media (max-width:560px){.partners{grid-template-columns:repeat(2,1fr)}}

/* homepage v4 */
.hero2{display:flex;align-items:center;gap:48px;justify-content:space-between}
.hero-crest{width:170px;flex:none;opacity:.92}
.stats{display:flex;gap:40px;margin-top:36px;flex-wrap:wrap}
.stats b{
  font-family:'Archivo',sans-serif;font-weight:700;font-size:34px;display:block;line-height:1;
}
.stats span{
  font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--gray);
  letter-spacing:.04em;text-transform:uppercase;display:block;margin-top:8px;line-height:1.5;
}
.stats div{border-left:3px solid var(--camel);padding-left:14px}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.facts>div{padding:14px 0;border-bottom:1px solid var(--line)}
.facts dt{
  font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--camel);
  letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;
}
.facts dd{font-size:15.5px}
.home-partners{grid-template-columns:repeat(3,1fr)}
@media (max-width:700px){
  .hero2{flex-direction:column-reverse;align-items:flex-start;gap:28px}
  .hero-crest{width:110px}
  .facts{grid-template-columns:1fr}
  .stats{gap:26px}
}
