:root{
  --ink:#0E1319;
  --slate:#1A232F;
  --acrylic:#E9EEF3;
  --chrome:#8E9BAB;
  --paper:#FFFFFF;
  --awning:#123B2E;
  --canvas:#EFE7D6;
  --brass:#C08A3E;
  --signal:#D8232A;
  --hairline:rgba(142,155,171,.28);
  --display:'Archivo',system-ui,sans-serif;
  --body:'IBM Plex Sans',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--ink);
  color:var(--acrylic);
  font-family:var(--body);
  font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}

.eyebrow{
  font-family:var(--mono);font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--chrome);
}

/* ---------- SIGNATURE: the awning ---------- */
.awning{
  background:repeating-linear-gradient(
    90deg,
    var(--awning) 0 44px,
    var(--canvas) 44px 88px
  );
  height:26px;
  position:relative;
}
.awning::after{
  content:"";position:absolute;left:0;right:0;top:100%;height:15px;
  background:inherit;
  -webkit-mask-image:radial-gradient(circle at 11px 0, #000 10.5px, transparent 11px);
  mask-image:radial-gradient(circle at 11px 0, #000 10.5px, transparent 11px);
  -webkit-mask-size:22px 15px;mask-size:22px 15px;
  -webkit-mask-repeat:repeat-x;mask-repeat:repeat-x;
}

/* ---------- top bar ---------- */
.topbar{border-bottom:1px solid var(--hairline);background:var(--ink)}
.topbar-in{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:26px 24px 16px;max-width:1120px;margin:0 auto;
}
.mark{
  font-family:var(--display);font-weight:900;font-size:15px;
  letter-spacing:.05em;text-transform:uppercase;
  color:var(--paper);text-decoration:none;line-height:1.2;
}
.mark em{
  display:block;font-style:normal;font-family:var(--mono);
  font-size:9px;letter-spacing:.18em;color:var(--brass);font-weight:400;
}
.topnav{display:flex;gap:22px;flex-wrap:wrap}
.topnav a{
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--chrome);text-decoration:none;
  transition:color .2s;
}
.topnav a:hover,.topnav a[aria-current]{color:var(--paper)}
@media(max-width:640px){.topnav{gap:14px}}

/* ---------- hero slab ---------- */
.hero{padding:64px 0 82px}
.slab-hero{
  background:var(--paper);border-radius:3px;color:var(--ink);
  box-shadow:0 0 0 1px rgba(255,255,255,.14),0 40px 80px -30px rgba(0,0,0,.9);
  overflow:hidden;position:relative;
}
.slab-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(112deg,transparent 32%,rgba(255,255,255,.5) 46%,transparent 58%);
  opacity:.5;
}
.label-bar{
  display:grid;grid-template-columns:1fr auto;align-items:stretch;
  border-bottom:3px solid var(--ink);
}
.label-left{padding:26px 28px 24px}
.label-cert{
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;
  color:#5D6B7C;text-transform:uppercase;margin-bottom:14px;
}
.label-name{
  font-family:var(--display);font-weight:900;
  font-size:clamp(28px,6.6vw,62px);line-height:.94;
  letter-spacing:-.02em;text-transform:uppercase;color:var(--ink);
}
.label-sub{
  font-family:var(--display);font-weight:600;
  font-size:clamp(12px,2.4vw,16px);letter-spacing:.1em;
  text-transform:uppercase;color:#5D6B7C;margin-top:12px;
}
.grade-badge{
  background:var(--awning);color:var(--paper);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:20px 22px;min-width:132px;text-align:center;
}
.grade-word{
  font-family:var(--display);font-weight:800;font-size:12px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--canvas);
}
.grade-num{
  font-family:var(--display);font-weight:900;
  font-size:clamp(36px,8vw,58px);line-height:1;color:var(--paper);
}
@media(max-width:560px){.grade-badge{min-width:94px;padding:16px}}
.slab-body{
  padding:30px 28px 34px;position:relative;z-index:1;
  display:grid;grid-template-columns:1.25fr 1fr;gap:32px;
}
@media(max-width:760px){.slab-body{grid-template-columns:1fr;gap:24px}}
.slab-body p{color:#3C4856;font-size:17px;max-width:52ch}
.spec dt{
  font-family:var(--mono);font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:#7E8B99;margin-top:12px;
}
.spec dt:first-child{margin-top:0}
.spec dd{
  font-family:var(--display);font-weight:600;font-size:14px;
  letter-spacing:.02em;color:var(--ink);text-transform:uppercase;
}

/* ---------- sections ---------- */
section{padding:74px 0}
.sec-head{margin-bottom:36px;max-width:62ch}
.sec-head h2{
  font-family:var(--display);font-weight:900;
  font-size:clamp(26px,4.4vw,40px);line-height:1.04;
  letter-spacing:-.015em;text-transform:uppercase;
  color:var(--paper);margin-top:10px;
}
.sec-head p{color:var(--chrome);margin-top:14px;font-size:16.5px}

/* ---------- pipeline ---------- */
.pipeline{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:var(--hairline);border:1px solid var(--hairline);
}
@media(max-width:800px){.pipeline{grid-template-columns:1fr}}
.stage{background:var(--slate);padding:28px 24px 30px}
.stage-tag{
  display:inline-block;font-family:var(--mono);font-size:10px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;
  border:1px solid var(--brass);color:var(--brass);
  padding:4px 9px;margin-bottom:18px;
}
.stage h3{
  font-family:var(--display);font-weight:800;font-size:19px;
  text-transform:uppercase;color:var(--paper);margin-bottom:10px;
}
.stage p{color:var(--chrome);font-size:15px}

/* ---------- inventory slabs ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(216px,1fr));gap:22px}
.slab{
  background:var(--paper);border-radius:2px;overflow:hidden;position:relative;
  box-shadow:0 0 0 1px rgba(255,255,255,.1),0 18px 34px -20px rgba(0,0,0,.85);
  transition:transform .3s ease,box-shadow .3s ease;
}
.slab:hover{
  transform:translateY(-5px);
  box-shadow:0 0 0 1px rgba(255,255,255,.2),0 26px 44px -20px rgba(0,0,0,.95);
}
.slab-tag{
  border-bottom:2px solid var(--ink);padding:9px 12px 10px;
  display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px;
}
.slab-tag .yr{
  font-family:var(--mono);font-size:9px;letter-spacing:.12em;
  color:#75828F;text-transform:uppercase;
}
.slab-tag .nm{
  font-family:var(--display);font-weight:800;font-size:13.5px;
  text-transform:uppercase;color:var(--ink);line-height:1.15;
}
.slab-tag .gr{
  font-family:var(--display);font-weight:900;font-size:17px;
  color:var(--ink);white-space:nowrap;
}
.slot{
  aspect-ratio:1/1;background:#0E1319;
  display:flex;align-items:center;justify-content:center;
  border-bottom:1px solid #DDE4EB;overflow:hidden;
}
.slot img{width:100%;height:100%;object-fit:cover;display:block}
.slot .ph{
  font-family:var(--mono);font-size:10px;letter-spacing:.13em;
  color:#A9B5C2;text-transform:uppercase;text-align:center;padding:12px;
}
.slab-foot{
  padding:9px 12px;font-family:var(--mono);font-size:9.5px;
  letter-spacing:.09em;color:#8794A2;text-transform:uppercase;
  display:flex;justify-content:space-between;gap:8px;align-items:baseline;
}
.st{font-weight:600;white-space:nowrap}
.st-listed{color:var(--awning)}
.st-sold{color:#9AA6B3}
.grid-note{
  margin-top:22px;font-family:var(--mono);font-size:11px;
  letter-spacing:.05em;color:#6B7887;
}
.slab-tag .yr{line-height:1.35}

/* ---------- business record ---------- */
.record{border:1px solid var(--hairline);display:grid;grid-template-columns:repeat(2,1fr)}
@media(max-width:700px){.record{grid-template-columns:1fr}}
.rec-item{padding:22px 24px;border-bottom:1px solid var(--hairline)}
.rec-item:nth-child(odd){border-right:1px solid var(--hairline)}
@media(max-width:700px){.rec-item:nth-child(odd){border-right:none}}
.rec-item dt{
  font-family:var(--mono);font-size:10px;letter-spacing:.15em;
  text-transform:uppercase;color:var(--chrome);margin-bottom:7px;
}
.rec-item dd{
  font-family:var(--display);font-weight:600;font-size:16px;
  color:var(--paper);letter-spacing:.01em;
}

/* ---------- prose (about page) ---------- */
.prose{max-width:66ch}
.prose p{color:#B9C4D0;font-size:17px;margin-bottom:20px}
.prose h3{
  font-family:var(--display);font-weight:800;font-size:20px;
  text-transform:uppercase;color:var(--paper);
  margin:36px 0 12px;letter-spacing:.01em;
}
.pull{
  border-left:3px solid var(--brass);
  padding:4px 0 4px 20px;margin:30px 0;
}
.pull p{
  font-family:var(--display);font-weight:600;font-size:19px;
  color:var(--canvas);line-height:1.4;margin:0;
}

/* ---------- contact ---------- */
.contact-in{border-top:3px solid var(--brass);background:var(--slate);padding:44px 30px}
.contact-in h2{
  font-family:var(--display);font-weight:900;
  font-size:clamp(24px,4vw,36px);text-transform:uppercase;
  color:var(--paper);line-height:1.05;
}
.contact-in p{color:var(--chrome);margin-top:12px;max-width:50ch}
.mailto{
  display:inline-block;margin-top:24px;
  background:var(--paper);color:var(--ink);
  font-family:var(--display);font-weight:800;font-size:14px;
  letter-spacing:.08em;text-transform:uppercase;
  padding:14px 26px;text-decoration:none;
  transition:background .2s,color .2s;
}
.mailto:hover{background:var(--brass);color:var(--ink)}

footer{border-top:1px solid var(--hairline);padding:26px 0 40px}
.foot-in{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}
.foot-in p{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:#6B7887;
}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
