/* IDENTIDAD ÁMBAR. Cambia estos tokens para crear otra marca. */
:root {
  --bg:#faf7f1;
  --ink:#39392e;
  --muted:#777266;
  --surface:#f0eadf;
  --line:#d5cdbd;
  --accent:#805b3b;
  --focus:#805b3b;
  --button:#4e5340;
  --button-ink:#fffdf5;
  --button-hover:#363b2c;
  --announcement:#e9e0d1;
  --announcement-ink:#514d41;
  --badge:#fcf9f0;
  --badge-ink:#655740;
  --avatar:#e2d8c4;
  --footer:#e9e0d1;
  --footer-ink:#39392e;
  --footer-line:#c9bea9;
  --footer-hover:#ddd2bc;
  --radius:3rem;
}
.brand {
  font-family:Display,Georgia,serif;
  font-size:2.8rem;
  font-weight:500;
  letter-spacing:-.045em
}
.brand-symbol {
  width:30px;
  height:30px
}
.brand-descriptor {
  font-family:Body,sans-serif;
  font-weight:400;
  letter-spacing:.2em
}
.site-header {
  padding-block:1rem
}
.hero {
  padding-top:.5rem
}
.hero-copy {
  padding-top:1rem
}
.hero h1 {
  font-size:clamp(2.75rem,calc(10.5vw + .6rem),5.4rem);
  line-height:.98;
  font-weight:500;
  letter-spacing:-.04em
}
.hero .eyebrow {
  font-size:.75rem;
  letter-spacing:.13em
}
.hero-description {
  font-size:.9375rem;
  max-width:28rem
}
.hero-note {
  font-size:.75rem
}
.hero .button {
  padding-inline:1.5rem
}
.hero .text-link {
  font-size:.8125rem
}
.hero-visual {
  padding:0 1rem 0 0;
  margin-left:.5rem
}
.hero-visual>img {
  border-radius:48% 48% 0 0;
  aspect-ratio:1/1.14
}
.hero-visual figcaption {
  padding-top:1rem;
  font-size:.75rem;
  color:var(--muted)
}
.hero-visual figcaption span:first-child {
  font-family:Display,Georgia,serif;
  font-size:1.1rem;
  font-style:italic
}
.hero-visual figcaption span:last-child {
  font-size:.75rem;
  letter-spacing:.13em;
  align-self:center
}
.image-stamp {
  background:#f1e7d5;
  color:#6c5c43;
  left:-.6rem;
  bottom:4.5rem;
  width:6rem;
  height:6rem;
  border-radius:50%;
  border:1px solid #ae9e7f;
  outline:5px solid #f1e7d5;
  transform:rotate(-13deg)
}
.image-stamp strong {
  font-size:2rem;
  font-weight:500
}
.image-stamp span {
  font-size:.75rem;
  letter-spacing:.15em
}
.hero-bottom {
  color:#797263;
  font-size:.75rem;
  letter-spacing:.12em;
  border-bottom:1px solid var(--line);
  padding-block:1.4rem
}
.section-heading h2 {
  font-weight:500;
  letter-spacing:-.035em;
  line-height:1.05
}
.section-heading .eyebrow {
  color:#85785f;
  font-size:.75rem
}
.catalog {
  padding-top:3.5rem
}
.product-visual {
  border-radius:7rem 7rem .15rem .15rem
}
.product-visual img {
  aspect-ratio:3/4
}
.product-number {
  display:none
}
.product-badge {
  font-size:.75rem;
  padding:.35rem .6rem;
  bottom:.8rem;
  left:.7rem;
  border-radius:2rem;
  letter-spacing:.03em
}
.product-title-row h3 {
  font-family:Display,Georgia,serif;
  font-size:1.3rem;
  font-weight:600
}
.price {
  font-size:.875rem
}
.product-detail {
  font-size:.75rem
}
.buy-link {
  border-bottom:0;
  background:transparent;
  border:1px solid var(--line);
  border-radius:2rem;
  padding:.6rem 1rem;
  font-size:.8125rem
}
.buy-link:hover {
  background:#e9e0d1
}
.catalog-note {
  font-size:.75rem
}
.trust {
  background:#eee8dc
}
.trust .section-heading h2 {
  white-space:pre-line
}
.trust-point {
  border-color:#cec5b3
}
.trust-icon-row svg {
  stroke-width:1.25;
  color:#716747
}
.trust-point h3 {
  font-family:Display,Georgia,serif;
  font-size:1.65rem;
  font-weight:600
}
.trust-point p {
  font-size:.875rem
}
.trust-icon-row>span {
  color:#8c816b
}
.reviews .section-heading h2 {
  max-width:39rem
}
.review-card {
  background:transparent;
  border:1px solid var(--line);
  border-radius:1rem
}
.stars {
  color:#877246;
  font-size:.75rem;
  letter-spacing:.2em
}
.review-card blockquote {
  font-family:Display,Georgia,serif;
  font-size:1.35rem;
  line-height:1.4
}
.review-person {
  font-size:.8125rem
}
.footer h2 {
  font-weight:500;
  letter-spacing:-.035em;
  line-height:1.05
}
.footer .social-link {
  border-radius:3rem
}
.footer-brand {
  font-size:3rem;
  font-weight:500;
  letter-spacing:-.05em
}
dialog {
  border-radius:1rem
}
@media(min-width:640px) {
  .hero h1 {
    font-size:5.5rem
  }
  .hero-visual {
    max-width:600px;
    margin-inline:auto;
    padding-right:1rem
  }
  .image-stamp {
    width:7rem;
    height:7rem;
    left:-1.25rem
  }
  .image-stamp strong {
    font-size:2.4rem
  }
  .image-stamp span {
    font-size:.75rem
  }
  .product-visual {
    border-radius:10rem 10rem .15rem .15rem
  }
  .hero-visual figcaption span:last-child {
    font-size:.75rem
  }
}
@media(min-width:960px) {
  .hero {
    grid-template-columns:1.08fr 1fr;
    padding-top:1.8rem;
    gap:0 4rem
  }
  .hero h1 {
    font-size:clamp(4.4rem,6.3vw,6.6rem)
  }
  .hero-visual {
    margin-left:1rem;
    padding-right:1.25rem;
    max-width:none
  }
  .hero-visual>img {
    height:560px;
    aspect-ratio:auto
  }
  .hero-copy {
    padding-block:2rem 4rem
  }
  .hero-description {
    font-size:1rem
  }
  .hero-bottom {
    margin-top:1.5rem
  }
  .hero .hero-actions {
    gap:1rem
  }
  .hero .text-link {
    font-size:.8125rem
  }
  .catalog .section-heading {
    margin-bottom:2.7rem
  }
  .product-title-row {
    flex-direction:column
  }
  .product-title-row h3 {
    font-size:1.65rem
  }
  .product-detail {
    font-size:.75rem
  }
  .product-visual {
    border-radius:10rem 10rem .15rem .15rem
  }
  .review-card blockquote {
    font-size:1.45rem
  }
  .footer h2 {
    font-size:4.3rem
  }
}
@media(min-width:1250px) {
  .hero h1 {
    font-size:6.1rem
  }
  .hero {
    gap:0 4rem
  }
  .hero-visual>img {
    height:575px
  }
  .hero .hero-actions {
    gap:1.5rem
  }
  .hero .text-link {
    font-size:.875rem
  }
  .brand-descriptor {
    margin-left:.9rem
  }
}
