/* JD Model Management */

:root{
  --ink:#0b0b0b;
  --paper:#fbfaf8;
  --muted:#8a8a86;
  --line:#e2e0dc;
  --accent:#0b0b0b;
  --max:1600px;
  --pad:clamp(20px,4vw,64px);
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:15px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}

/* ---------- tipografia ---------- */
.eyebrow{
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--muted);
}
h1,h2,h3{font-weight:400;letter-spacing:-.02em;line-height:1.05}
.display{font-size:clamp(38px,7vw,104px);letter-spacing:-.035em}
.h2{font-size:clamp(24px,3.4vw,44px)}

/* ---------- header ---------- */
header{
  position:sticky;top:0;z-index:50;
  background:rgba(251,250,248,.92);
  backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;height:68px;
}
.brand{display:flex;align-items:baseline;gap:10px}
.brand .mark{
  font-size:17px;letter-spacing:.30em;text-transform:uppercase;font-weight:500;
}
.brand .sub{font-size:10px;letter-spacing:.20em;text-transform:uppercase;color:var(--muted)}
.menu{display:flex;gap:28px;align-items:center}
.menu a{
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
  padding:6px 0;border-bottom:1px solid transparent;transition:.18s;
}
.menu a:hover,.menu a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--ink)}
.burger{display:none;background:none;border:0;font-size:20px;cursor:pointer;padding:8px}

@media(max-width:820px){
  .menu{
    position:fixed;inset:68px 0 auto 0;background:var(--paper);
    flex-direction:column;align-items:flex-start;gap:0;
    padding:8px var(--pad) 24px;border-bottom:1px solid var(--line);
    display:none;
  }
  .menu.open{display:flex}
  .menu a{padding:14px 0;font-size:14px;width:100%;border-bottom:1px solid var(--line)}
  .burger{display:block}
}

/* ---------- hero ---------- */
.hero{padding:clamp(48px,9vw,120px) 0 clamp(32px,5vw,64px)}
.hero .display{max-width:15ch}
.hero p{
  margin-top:22px;max-width:52ch;color:#3a3a38;font-size:clamp(15px,1.5vw,18px);
}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}

.btn{
  display:inline-block;padding:13px 26px;border:1px solid var(--ink);
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  transition:.18s;cursor:pointer;background:none;
}
.btn:hover{background:var(--ink);color:var(--paper)}
.btn.solid{background:var(--ink);color:var(--paper)}
.btn.solid:hover{background:none;color:var(--ink)}

/* ---------- grid de modelos ---------- */
.section{padding:clamp(40px,6vw,88px) 0}
.section-head{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:20px;margin-bottom:28px;flex-wrap:wrap;
}

.grid{
  display:grid;gap:clamp(14px,1.8vw,28px);
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
}
.card{display:block;position:relative}
.card .ph{
  position:relative;overflow:hidden;background:#eeece8;
  aspect-ratio:2/3;
}
.card .ph img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .7s cubic-bezier(.2,.7,.3,1),opacity .4s;
}
.card:hover .ph img{transform:scale(1.045)}
.card .ph .alt{position:absolute;inset:0;opacity:0}
.card:hover .ph .alt{opacity:1}
.card .meta{padding:12px 2px 0}
.card .nm{font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.card .ms{font-size:12px;color:var(--muted);margin-top:3px;font-variant-numeric:tabular-nums}

/* ---------- filtros ---------- */
.filters{display:flex;gap:8px;flex-wrap:wrap}
.filters button{
  border:1px solid var(--line);background:none;padding:9px 20px;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;
  color:var(--muted);transition:.18s;font-family:inherit;
}
.filters button:hover{color:var(--ink);border-color:var(--ink)}
.filters button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* ---------- pagina de modelo ---------- */
.model-top{
  display:grid;gap:clamp(20px,4vw,56px);
  grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr);
  padding:clamp(28px,4vw,56px) 0 clamp(20px,3vw,36px);
}
@media(max-width:900px){.model-top{grid-template-columns:1fr}}
.specs{list-style:none;margin-top:26px;border-top:1px solid var(--line)}
.specs li{
  display:flex;justify-content:space-between;gap:16px;
  padding:11px 0;border-bottom:1px solid var(--line);
  font-size:13px;
}
.specs li span:first-child{color:var(--muted);letter-spacing:.10em;text-transform:uppercase;font-size:11px}
.specs li span:last-child{font-variant-numeric:tabular-nums}

.gallery{
  display:grid;gap:clamp(12px,1.6vw,22px);
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  padding-bottom:clamp(40px,6vw,80px);
}
.gallery a{display:block;background:#eeece8;aspect-ratio:2/3;overflow:hidden}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.gallery a:hover img{transform:scale(1.03)}

/* ---------- lightbox ---------- */
.lb{
  position:fixed;inset:0;z-index:100;background:rgba(8,8,8,.94);
  display:none;align-items:center;justify-content:center;padding:24px;
}
.lb.open{display:flex}
.lb img{max-width:92vw;max-height:88vh;width:auto;height:auto;object-fit:contain}
.lb button{
  position:absolute;background:none;border:0;color:#fff;cursor:pointer;
  font-size:30px;line-height:1;padding:14px;opacity:.75;
}
.lb button:hover{opacity:1}
.lb .x{top:8px;right:10px}
.lb .prev{left:6px;top:50%;transform:translateY(-50%)}
.lb .next{right:6px;top:50%;transform:translateY(-50%)}

/* ---------- blocos de texto ---------- */
.split{
  display:grid;gap:clamp(24px,5vw,72px);
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  align-items:start;
}
.prose p{margin-bottom:16px;max-width:62ch;color:#33332f}
.prose p:last-child{margin-bottom:0}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:24px;margin-top:8px}
.stat .n{font-size:clamp(30px,4vw,52px);letter-spacing:-.03em;line-height:1}
.stat .l{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:8px}

/* ---------- rodape ---------- */
footer{border-top:1px solid var(--line);padding:clamp(36px,5vw,64px) 0 40px;margin-top:20px}
.foot{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.foot h4{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;font-weight:400}
.foot a{display:block;padding:3px 0;font-size:14px}
.foot a:hover{text-decoration:underline}
.legal{
  margin-top:44px;padding-top:20px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:12px;color:var(--muted);
}

.notice{
  border:1px solid var(--line);background:#f3f1ed;
  padding:16px 18px;font-size:13px;color:#4a4a46;margin-top:24px;
}
