/* Casa Vellori V45 — Roman House typography and mobile navigation stability. */

body.cv-v45 {
  --cv44-gothic: "Cinzel", "Times New Roman", serif;
}

body.cv-v45 :is(h1, h2, .page-head h1, .pd-info h1, .related > h3),
body.cv-v45 .pcard .pname,
body.cv-v45 .cv40-grand-tour-title strong {
  font-family: "Cinzel", "Times New Roman", serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
}

body.cv-v45 .cv-home-hero h1 {
  font-family: "Cinzel", "Times New Roman", serif !important;
  font-size: clamp(76px, 9.4vw, 150px) !important;
  font-weight: 400 !important;
  line-height: .82 !important;
  letter-spacing: .035em !important;
  text-transform: none !important;
}

body.cv-v45 .cv-home-hero h1 .cv-hero-second {
  margin-left: .24em !important;
  letter-spacing: .055em !important;
}

body.cv-v45.cv-page-index :is(.cv-manifesto h2, .cv-v9-film h2, .cv-section-head h2, .cv-craft h2) {
  font-family: "Cinzel", "Times New Roman", serif !important;
  font-size: clamp(46px, 6vw, 86px) !important;
  font-weight: 400 !important;
  line-height: .98 !important;
  letter-spacing: .015em !important;
}

body.cv-v45:not(.cv-page-index) .page-head h1 {
  font-family: "Cinzel", "Times New Roman", serif !important;
  font-size: clamp(62px, 8vw, 116px) !important;
  font-weight: 400 !important;
  line-height: .9 !important;
  letter-spacing: .045em !important;
}

body.cv-v45.cv-page-product .pd-info h1 {
  font-family: "Cinzel", "Times New Roman", serif !important;
  font-size: clamp(38px, 4.2vw, 64px) !important;
  font-weight: 400 !important;
  line-height: .98 !important;
  letter-spacing: .025em !important;
}

body.cv-v45 .pcard .pname {
  font-size: clamp(22px, 1.7vw, 29px) !important;
  line-height: 1.12 !important;
  letter-spacing: .025em !important;
}

body.cv-v45.cv45-leaving {
  cursor: progress;
}

body.cv-v45.cv45-leaving::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(7, 10, 8, .16);
  pointer-events: all;
}

body.cv-v45 .pcard,
body.cv-v45 .cv-onbody-look,
body.cv-v45 .cv-fragrance-card,
body.cv-v45 .cv-object {
  content-visibility: auto;
  contain-intrinsic-size: auto 720px;
}

@media (max-width: 760px) {
  body.cv-v45 .cv-home-hero h1 {
    font-size: clamp(58px, 18.5vw, 82px) !important;
    line-height: .88 !important;
    letter-spacing: .018em !important;
  }

  body.cv-v45 .cv-home-hero h1 .cv-hero-second {
    margin-left: .12em !important;
    letter-spacing: .03em !important;
  }

  body.cv-v45.cv-page-index :is(.cv-manifesto h2, .cv-v9-film h2, .cv-section-head h2, .cv-craft h2) {
    font-size: clamp(38px, 10.5vw, 54px) !important;
    line-height: 1.02 !important;
  }

  body.cv-v45:not(.cv-page-index) .page-head h1 {
    font-size: clamp(48px, 13vw, 68px) !important;
    line-height: .94 !important;
  }

  body.cv-v45.cv-page-product .pd-info h1 {
    font-size: clamp(36px, 9.8vw, 52px) !important;
    line-height: 1 !important;
  }

  body.cv-v45 .pcard .pname {
    font-size: clamp(17px, 4.8vw, 23px) !important;
    line-height: 1.12 !important;
  }

  body.cv-v45 .nav,
  body.cv-v45 .cv-hero-copy,
  body.cv-v45 .mdrawer,
  body.cv-v45 .bag {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}

@media (max-width: 420px) {
  body.cv-v45 .pcard .pname { font-size: 25px !important; }
}

@media (prefers-reduced-motion: reduce) {
  body.cv-v45.cv45-leaving::before { display: none; }
}
