@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

/* Del Monaco LIVE V204
   One Craftsmanship section only + site-wide 3-role typography system.
   Typography reference is the approved About section:
   1) Editorial serif title
   2) Manrope body copy
   3) Gold uppercase eyebrow / utility
   Header/footer geometry is intentionally untouched. */

:root{
  --dm204-title-font: Georgia, "Times New Roman", serif;
  --dm204-body-font: "Manrope", Arial, sans-serif;
  --dm204-eyebrow-font: "Manrope", Arial, sans-serif;
  --dm204-cream:#f8f0df;
  --dm204-cream-soft:rgba(248,240,223,.80);
  --dm204-ink:#07150e;
  --dm204-ink-soft:#536159;
  --dm204-gold:#d79f13;
  --dm204-gold-soft:#efc95c;
  --dm204-line:rgba(215,159,19,.30);
}

/* ================================================================
   THREE TYPOGRAPHY ROLES — SAME LANGUAGE AS ABOUT
   ================================================================ */
html body main .dm204-type-title,
html body main h1.dm204-type-title,
html body main h2.dm204-type-title{
  font-family:var(--dm204-title-font)!important;
  font-weight:700!important;
  line-height:.99!important;
  letter-spacing:-.036em!important;
  text-wrap:balance!important;
}
html body main .dm204-type-title > *,
html body main h1.dm204-type-title > *,
html body main h2.dm204-type-title > *{
  font-family:inherit!important;
  font-weight:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
}

html body main .dm204-type-body,
html body main p.dm204-type-body{
  font-family:var(--dm204-body-font)!important;
  font-weight:500!important;
  line-height:1.78!important;
  letter-spacing:-.012em!important;
}

html body main .dm204-type-eyebrow{
  font-family:var(--dm204-eyebrow-font)!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
html body main .dm204-type-eyebrow > *{
  font-family:inherit!important;
  font-weight:inherit!important;
  letter-spacing:inherit!important;
  text-transform:inherit!important;
}

html body main .dm204-type-card-title{
  font-family:var(--dm204-title-font)!important;
  font-weight:700!important;
  line-height:1.05!important;
  letter-spacing:-.025em!important;
}
html body main .dm204-type-utility,
html body main .dm204-type-utility > *{
  font-family:var(--dm204-eyebrow-font)!important;
  font-weight:800!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}

/* ---------- HOME HERO: title/body/eyebrow MUST use the same 3 roles ---------- */
html body .dm189-home-hero .dm189-kicker,
html body .dm203-home-hero .dm189-kicker{
  font-family:var(--dm204-eyebrow-font)!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
html body .dm189-home-hero .dm189-title,
html body .dm189-home-hero .dm189-title > span,
html body .dm189-home-hero .dm189-title > span *,
html body .dm189-home-hero .dm189-title em,
html body .dm203-home-hero .dm189-title,
html body .dm203-home-hero .dm189-title > span,
html body .dm203-home-hero .dm189-title > span *,
html body .dm203-home-hero .dm189-title em{
  font-family:var(--dm204-title-font)!important;
  font-size:clamp(45px,4.15vw,66px)!important;
  font-weight:700!important;
  line-height:.99!important;
  letter-spacing:-.036em!important;
}
html body .dm189-home-hero .dm189-title,
html body .dm203-home-hero .dm189-title{
  max-width:650px!important;
  margin-bottom:20px!important;
}
html body .dm189-home-hero .dm189-title > span,
html body .dm203-home-hero .dm189-title > span{
  width:auto!important;
  max-width:100%!important;
  white-space:normal!important;
}
html body .dm189-home-hero .dm189-description,
html body .dm203-home-hero .dm189-description{
  max-width:620px!important;
  font-family:var(--dm204-body-font)!important;
  font-size:clamp(16px,1.08vw,19px)!important;
  font-weight:500!important;
  line-height:1.78!important;
  letter-spacing:-.012em!important;
}
html body .dm189-home-hero .dm189-actions a,
html body .dm189-home-hero .dm189-actions a *,
html body .dm203-home-hero .dm189-actions a,
html body .dm203-home-hero .dm189-actions a *{
  font-family:var(--dm204-eyebrow-font)!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}

/* ---------- PRODUCTS: override the old sans hero typography with About typography ---------- */
html body.dm200-products-page .dm200-hero h1,
html body.dm200-products-page .dm200-hero h1 span,
html body.dm200-products-page .dm200-brand-title h2,
html body.dm200-products-page .dm200-section-head h2,
html body.dm200-products-page .dm200-final-cta h2{
  font-family:var(--dm204-title-font)!important;
  font-weight:700!important;
  line-height:.99!important;
  letter-spacing:-.036em!important;
}
html body.dm200-products-page .dm200-hero h1{
  font-size:clamp(45px,4.15vw,66px)!important;
  max-width:760px!important;
}
html body.dm200-products-page .dm200-hero__copy > p,
html body.dm200-products-page .dm200-brand-band p,
html body.dm200-products-page .dm200-current-card p,
html body.dm200-products-page .dm200-final-cta p{
  font-family:var(--dm204-body-font)!important;
  font-weight:500!important;
  line-height:1.72!important;
  letter-spacing:-.012em!important;
}
html body.dm200-products-page .dm200-eyebrow,
html body.dm200-products-page .dm200-brand-title > span,
html body.dm200-products-page .dm200-current-card__body > span,
html body.dm200-products-page .dm200-current-card__tag,
html body.dm200-products-page .dm200-archive-card__media > span{
  font-family:var(--dm204-eyebrow-font)!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
html body.dm200-products-page .dm200-current-card h3,
html body.dm200-products-page .dm200-archive-card h3,
html body.dm200-products-page .dm200-hero-card strong{
  font-family:var(--dm204-title-font)!important;
  font-weight:700!important;
}
html body.dm200-products-page .dm200-btn,
html body.dm200-products-page .dm200-btn *,
html body.dm200-products-page .dm200-filters button,
html body.dm200-products-page .dm200-section-head > a,
html body.dm200-products-page .dm200-card-arrow{
  font-family:var(--dm204-eyebrow-font)!important;
  font-weight:800!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}

/* ================================================================
   CRAFTSMANSHIP — EXACTLY ONE SECTION
   ================================================================ */
.dm204-craftsmanship{
  scroll-margin-top:118px!important;
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  margin:0!important;
  padding:clamp(78px,7vw,120px) clamp(24px,4.2vw,72px)!important;
  color:var(--dm204-cream)!important;
  background:
    radial-gradient(circle at 88% 16%,rgba(196,143,27,.14),transparent 32%),
    linear-gradient(135deg,#06110b 0%,#0a1b11 48%,#07120c 100%)!important;
  border-top:1px solid rgba(220,174,63,.18)!important;
  border-bottom:1px solid rgba(220,174,63,.18)!important;
}
.dm204-craftsmanship::before{
  content:""!important;
  position:absolute!important;
  width:36vw!important;height:36vw!important;min-width:430px!important;min-height:430px!important;
  left:-10vw!important;bottom:-18vw!important;border-radius:50%!important;
  background:radial-gradient(circle,rgba(216,164,42,.075),transparent 68%)!important;
  pointer-events:none!important;
}
.dm204-craft-inner{
  position:relative!important;z-index:1!important;
  display:grid!important;
  grid-template-columns:minmax(0,.90fr) minmax(500px,1.10fr)!important;
  gap:clamp(42px,5.2vw,86px)!important;
  align-items:center!important;
  width:min(1560px,100%)!important;
  margin:0 auto!important;
}
.dm204-craft-copy{max-width:660px!important}
.dm204-craft-eyebrow{
  display:flex!important;align-items:center!important;gap:14px!important;
  margin:0 0 18px!important;color:var(--dm204-gold-soft)!important;
}
.dm204-craft-eyebrow::before{
  content:""!important;flex:0 0 48px!important;height:1px!important;
  background:linear-gradient(90deg,var(--dm204-gold),transparent)!important;
}
.dm204-craft-copy h2{
  margin:0 0 24px!important;
  color:var(--dm204-cream)!important;
  font-size:clamp(45px,4.15vw,66px)!important;
}
.dm204-craft-copy h2 em{
  display:block!important;
  color:var(--dm204-gold-soft)!important;
  font-style:normal!important;
}
.dm204-craft-copy > p{
  max-width:620px!important;
  margin:0 0 30px!important;
  color:rgba(248,240,223,.76)!important;
  font-size:clamp(16px,1.08vw,19px)!important;
}
.dm204-craft-cta{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:16px!important;
  min-height:54px!important;padding:0 24px!important;
  border:1px solid rgba(239,204,103,.38)!important;border-radius:14px!important;
  color:var(--dm204-gold-soft)!important;background:rgba(255,255,255,.025)!important;text-decoration:none!important;
  transition:transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease!important;
}
.dm204-craft-cta:hover{
  transform:translateY(-2px)!important;background:rgba(239,204,103,.085)!important;
  border-color:rgba(239,204,103,.62)!important;box-shadow:0 16px 38px rgba(0,0,0,.2)!important;
}
.dm204-craft-visual{
  position:relative!important;
  min-height:clamp(500px,39vw,650px)!important;
  border-radius:30px!important;overflow:hidden!important;
  border:1px solid rgba(239,204,103,.24)!important;background:#101b14!important;
  box-shadow:0 34px 90px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.025) inset!important;
}
.dm204-craft-visual > img{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center!important;
  filter:contrast(1.045) saturate(1.04) brightness(1.025)!important;
  transition:transform .8s cubic-bezier(.2,.7,.2,1)!important;
}
.dm204-craft-visual:hover > img{transform:scale(1.022)!important}
.dm204-craft-visual::after{
  content:""!important;position:absolute!important;inset:0!important;pointer-events:none!important;
  background:linear-gradient(180deg,transparent 53%,rgba(2,9,5,.82) 100%)!important;
}
.dm204-craft-points{
  position:absolute!important;left:24px!important;right:24px!important;bottom:22px!important;z-index:2!important;
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;
}
.dm204-craft-point{
  min-height:116px!important;padding:17px 16px!important;
  border:1px solid rgba(239,204,103,.20)!important;border-radius:16px!important;
  background:rgba(4,14,8,.78)!important;
  backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;
}
.dm204-craft-point strong{
  display:block!important;margin-bottom:8px!important;color:var(--dm204-cream)!important;
  font-family:var(--dm204-title-font)!important;font-size:18px!important;font-weight:700!important;line-height:1.12!important;
}
.dm204-craft-point span{
  display:block!important;color:rgba(248,240,223,.68)!important;
  font-family:var(--dm204-body-font)!important;font-size:12px!important;font-weight:500!important;line-height:1.52!important;
}

/* Hide any stale duplicate produced by V203 before V204 takes control. */
.dm204-duplicate-craft{display:none!important}

@media (max-width:1100px){
  html body .dm189-home-hero .dm189-title,
  html body .dm189-home-hero .dm189-title > span,
  html body .dm189-home-hero .dm189-title > span *,
  html body .dm189-home-hero .dm189-title em,
  html body.dm200-products-page .dm200-hero h1{
    font-size:clamp(43px,5.4vw,58px)!important;
  }
  .dm204-craft-inner{grid-template-columns:1fr!important;max-width:900px!important}
  .dm204-craft-copy{max-width:760px!important}
  .dm204-craft-visual{min-height:560px!important}
}

@media (max-width:760px){
  html body .dm189-home-hero .dm189-kicker,
  html body .dm203-home-hero .dm189-kicker,
  html body main .dm204-type-eyebrow{font-size:10.5px!important}

  html body .dm189-home-hero .dm189-title,
  html body .dm189-home-hero .dm189-title > span,
  html body .dm189-home-hero .dm189-title > span *,
  html body .dm189-home-hero .dm189-title em,
  html body .dm203-home-hero .dm189-title,
  html body .dm203-home-hero .dm189-title > span,
  html body .dm203-home-hero .dm189-title > span *,
  html body .dm203-home-hero .dm189-title em,
  html body.dm200-products-page .dm200-hero h1,
  .dm204-craft-copy h2{
    font-size:clamp(39px,10.1vw,50px)!important;
    line-height:1.01!important;
  }
  html body .dm189-home-hero .dm189-description,
  html body .dm203-home-hero .dm189-description,
  .dm204-craft-copy > p{
    font-size:15px!important;line-height:1.72!important;
  }
  .dm204-craftsmanship{padding:66px 18px!important;scroll-margin-top:92px!important}
  .dm204-craft-visual{min-height:570px!important;border-radius:24px!important}
  .dm204-craft-points{left:14px!important;right:14px!important;bottom:14px!important;grid-template-columns:1fr!important}
  .dm204-craft-point{min-height:0!important;padding:13px 14px!important}
}

@media (max-width:480px){
  html body .dm189-home-hero .dm189-title,
  html body .dm189-home-hero .dm189-title > span,
  html body .dm189-home-hero .dm189-title > span *,
  html body .dm189-home-hero .dm189-title em,
  html body.dm200-products-page .dm200-hero h1,
  .dm204-craft-copy h2{font-size:clamp(36px,10.5vw,45px)!important}
  .dm204-craft-visual{min-height:535px!important}
}
