.ald-ad {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);
  min-width:0;
  overflow:hidden;
  margin:24px 0;
  border:1px solid #d4b798;
  border-radius:18px;
  background:#fff4e4;
  color:#2f1d12;
  box-shadow:0 14px 40px #0005;
}
.ald-ad__body { padding:clamp(18px,4vw,38px); }
.ald-ad__label {
  display:block;
  margin:0 0 14px;
  color:#704928;
  font:750 .72rem/1.2 system-ui,sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.ald-ad__logo { display:block; width:clamp(126px,19vw,180px); height:auto; }
.ald-ad .ald-ad__title {
  margin:14px 0 8px;
  color:#2f1d12;
  font:700 clamp(1.55rem,3.5vw,2.65rem)/1.04 Georgia,serif;
  letter-spacing:-.035em;
}
.ald-ad .ald-ad__copy { margin:0 0 17px; color:#63472f; font-size:clamp(.9rem,2vw,1rem); }
.ald-ad .ald-ad__cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:44px;
  border-radius:8px;
  padding:9px 14px;
  background:#672e15;
  color:#fff8ee;
  font:720 .91rem/1.2 system-ui,sans-serif;
  text-decoration:none;
}
.ald-ad .ald-ad__cta:hover { background:#8a3e1d; }
.ald-ad .ald-ad__cta:focus-visible { outline:3px solid #672e15; outline-offset:4px; }
.ald-ad__visual { margin:0; min-height:220px; position:relative; background:#d8c2a6; }
.ald-ad__visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:60% center; }
.ald-ad__visual figcaption {
  position:absolute;
  bottom:10px;
  right:10px;
  border-radius:4px;
  padding:3px 7px;
  background:#24180de6;
  color:#fff8ee;
  font:650 .68rem/1.3 system-ui,sans-serif;
}
@media(max-width:600px) {
  .ald-ad { grid-template-columns:1fr; }
  .ald-ad__visual { min-height:0; aspect-ratio:2.15; grid-row:1; }
  .ald-ad .ald-ad__cta { width:100%; }
}
