/* Bootstrap 5.3.8 supplies the grid, cards, buttons, and layout utilities.
   These scoped styles preserve the original JMK Victory visual identity. */
:root {
  --site-bg:#141110;
  --site-text:#f2eee8;
  --site-muted:#988d82;
  --site-gold:#c8a679;
  --bs-body-bg:var(--site-bg);
  --bs-body-color:var(--site-text);
  --bs-body-font-family:"Source Sans 3",system-ui,sans-serif;
  --bs-body-line-height:1.5}

html {
  scroll-behavior:smooth}
body {
  -webkit-font-smoothing:antialiased}
h1,h2,h3,.stat-number {
  font-family:"EB Garamond",Georgia,serif}
h1,h2 {
  font-weight:800;
  line-height:1.25}
h2 {
  font-size:2.25rem;
  margin-bottom:1.5rem}
p {
  color:var(--site-muted)}
a {
  color:var(--site-gold)}
a:focus-visible {
  outline:3px solid var(--site-gold);
  outline-offset:5px}
.skip-link {
  position:absolute;
  top:1rem;
  left:1rem;
  z-index:10;
  background:var(--site-bg);
  padding:1rem}
.container {
  width:100%;
  max-width:1152px;
  padding-left:24px;
  padding-right:24px}
.hero {
  min-height:100vh;
  min-height:100svh;
  background:radial-gradient(ellipse 80% 60% at 70% 20%,#c8a67914,transparent 70%),radial-gradient(ellipse 60% 80% at 20% 80%,#580e1410,transparent 70%),var(--site-bg)}
.site-header {
  padding:24px 24px 0;
  gap:16px}
.brand {
  height:40px;
  width:auto}
.btn.cta-button {
  background:linear-gradient(135deg,#c8a679,#b49264);
  color:#141110;
  font-size:1rem;
  font-weight:700;
  letter-spacing:.025em;
  text-transform:uppercase;
  padding:16px 32px;
  border:0;
  box-shadow:0 4px 20px -4px #c8a67966;
  transition:background .3s,box-shadow .3s,transform .3s}
.btn.cta-button:hover,.btn.cta-button:focus-visible {
  color:#141110;
  background:linear-gradient(135deg,#dbbc94,#c8a679);
  box-shadow:0 8px 30px -4px #c8a67980;
  transform:translateY(-1px)}
.btn.header-cta {
  padding:10px 20px;
  font-size:.875rem;
  white-space:nowrap}
.hero-body {
  padding:64px 0}
.hero-container {
  max-width:1280px}
.hero-row {
  --bs-gutter-x:48px;
  row-gap:48px}
.eyebrow {
  display:inline-block;
  padding:4px 12px;
  border:1px solid #c8a67933;
  background:#c8a6791a;
  color:var(--site-gold);
  font-size:.75rem;
  font-weight:700;
  line-height:1.5;
  text-transform:uppercase;
  letter-spacing:.2em;
  margin-bottom:16px}
.hero .eyebrow {
  padding:6px 16px;
  margin-bottom:24px}
.hero h1 {
  font-size:3rem;
  line-height:1.05;
  letter-spacing:-.025em;
  margin-bottom:24px}
.text-gold-gradient {
  background:linear-gradient(135deg,#e9cba5,#c8a679,#b48c64);
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent}
.hero-description {
  font-size:1.125rem;
  line-height:1.625;
  max-width:512px;
  margin-bottom:32px}
.reassurance {
  font-size:.875rem;
  color:var(--site-muted)}
.check {
  color:#22c55e;
  margin-right:8px;
  font-weight:700}
.hero-proof {
  margin-top:48px;
  gap:24px}
.hero-proof>div+div {
  border-left:1px solid #36312f;
  padding-left:24px}
.hero-proof strong {
  display:block;
  color:var(--site-gold);
  font-size:1.5rem;
  font-weight:900}
.hero-proof span {
  display:block;
  color:var(--site-muted);
  font-size:.75rem;
  text-transform:uppercase}
.hero-portrait {
  width:288px;
  height:320px;
  border-radius:16px;
  box-shadow:0 0 60px #c8a67912;
  overflow:hidden}
.hero-portrait img,.about-portrait {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top}
.hero-portrait:after {
  content:"";
  position:absolute;
  inset:66% 0 0;
  background:linear-gradient(0deg,#141110cc,transparent)}
.hero-portrait figcaption {
  position:absolute;
  bottom:16px;
  left:16px;
  right:16px;
  z-index:1}
.hero-portrait figcaption strong {
  display:block;
  font:700 1.125rem "EB Garamond",Georgia,serif}
.hero-portrait figcaption span {
  display:block;
  font-size:.75rem;
  font-weight:600;
  color:var(--site-gold);
  letter-spacing:.1em;
  text-transform:uppercase}
.discover {
  text-decoration:none;
  color:var(--site-muted);
  padding-bottom:32px}
.discover>span:first-child {
  font-size:10px;
  letter-spacing:.3em;
  font-weight:700;
  text-transform:uppercase}
.discover:hover {
  color:var(--site-gold)}
.discover-arrow {
  font-size:22px;
  line-height:1}
.section-space {
  padding:80px 0}
.value-section {
  padding:96px 0}
.gold-divider {
  height:1px;
  max-width:320px;
  margin:0 auto;
  background:linear-gradient(90deg,transparent,#c8a6794d,transparent)}
.value-section>.gold-divider {
  margin-bottom:80px}
.section-heading {
  margin-bottom:64px}
.large-heading {
  margin-bottom:0}
.glass-card {
  color:var(--site-text);
  background:linear-gradient(135deg,#272321cc,#1e1b1a99);
  border:1px solid #c8a6791a;
  border-radius:12px;
  transition:transform .3s,border-color .3s}
.glass-card:hover {
  transform:scale(1.02);
  border-color:#c8a67940;
  background:linear-gradient(135deg,#2c2826e6,#211e1cb3)}
.benefit-card .card-body {
  padding:24px}
.benefit-icon {
  font-size:30px;
  margin-bottom:16px}
.benefit-card h3 {
  font-weight:700;
  font-size:1.25rem;
  line-height:1.375;
  margin-bottom:12px}
.card p {
  line-height:1.625;
  margin:0}
.shaded-section {
  background:linear-gradient(180deg,var(--site-bg),#1e1b1a80,var(--site-bg))}
.stats-container {
  max-width:1024px}
.stats-row {
  margin-bottom:80px}
.stat-number {
  font-size:2.25rem;
  font-weight:800;
  color:var(--site-gold);
  line-height:1.1}
.stat-label {
  font-size:.75rem;
  letter-spacing:.15em;
  font-weight:700;
  text-transform:uppercase;
  margin-top:8px;
  margin-bottom:0}
.testimonial {
  max-width:768px;
  padding-top:32px}
.quote-mark {
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  font:6rem/1 "EB Garamond",Georgia,serif;
  color:#c8a67926}
.testimonial blockquote {
  position:relative;
  font:italic 1.5rem/1.625 "EB Garamond",Georgia,serif;
  color:#f2eee8e6;
  margin:0}
.audience-row {
  --bs-gutter-x:48px;
  row-gap:64px}
.eyebrow-burgundy {
  background:#580e144d;
  border-color:#580e1466}
.section-description {
  font-size:1.125rem;
  line-height:1.625;
  margin-bottom:32px}
.btn.compact-cta {
  font-size:.875rem;
  padding:14px 28px}
.audience-card .card-body {
  padding:20px}
.audience-card h3 {
  font-family:var(--bs-body-font-family);
  font-size:.875rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--site-gold);
  margin-bottom:6px}
.audience-card p {
  font-size:.875rem}
.about-row {
  --bs-gutter-x:48px}
.about-portrait {
  width:256px;
  height:288px;
  border-radius:16px}
.about-copy {
  font-size:1rem;
  line-height:1.625}
.about-copy strong {
  color:var(--site-gold);
  font-weight:600}
.about-copy p:last-child {
  margin-bottom:0}
.booking-section {
  background:radial-gradient(ellipse at center,#c8a6790a,transparent 65%)}
.booking-width {
  max-width:896px}
.booking-heading {
  margin-bottom:48px}
.booking-heading h2 {
  margin-bottom:20px}
.booking-heading p {
  max-width:576px}
.booking-promises {
  font-size:.875rem;
  color:var(--site-muted);
  margin-bottom:32px}
.booking-container {
  padding:6px;
  border-radius:16px;
  background:linear-gradient(180deg,#272321,#1e1b1a);
  border:1px solid #c8a67926;
  box-shadow:0 0 40px #c8a6790d}
.booking-frame {
  padding:4px;
  border-radius:4px;
  background:#f2eee8}
.booking-frame iframe {
  display:block;
  width:100%;
  min-height:700px;
  border:0}
.booking-fallback {
  font-size:.875rem}
.site-footer {
  padding:48px 24px}
.site-footer .gold-divider {
  margin-bottom:40px}
.site-footer .brand {
  opacity:.5;
  margin-bottom:16px}
.site-footer p {
  font-size:.75rem;
  margin:0}

.booking-frame {
  min-height:708px}

@media(min-width:768px) {
  .audience-row {
  --bs-gutter-x:64px}
.container {
  padding-left:48px;
  padding-right:48px}
.site-header {
  padding:32px 48px 0}
.site-header .brand {
  height:48px}
.hero h1 {
  font-size:3.75rem}
.hero-description,.booking-heading p {
  font-size:1.25rem}
.hero-portrait {
  width:320px;
  height:448px}
.section-space {
  padding:112px 0}
.value-section {
  padding:128px 0}
h2,.large-heading {
  font-size:3rem}
.benefit-card .card-body {
  padding:32px}
.benefit-card h3 {
  font-size:1.5rem}
.stat-number {
  font-size:3rem}
.stat-label {
  font-size:.875rem}
.testimonial blockquote {
  font-size:1.875rem}
.about-portrait {
  width:320px;
  height:384px}
.about-copy {
  font-size:1.125rem}
.booking-container {
  padding:8px}
.site-footer {
  padding:64px 24px}
}

@media(min-width:992px) {
  .hero-body {
  padding:48px 0}
.hero-row {
  --bs-gutter-x:64px}
.hero h1 {
  font-size:4.5rem}
.hero-portrait {
  width:352px;
  height:480px}
.large-heading,.stat-number {
  font-size:3.75rem}
.hero-actions {
  flex-wrap:wrap}
}

@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto}
*,*:before,*:after {
  animation:none!important;
  transition:none!important}
}

/* This is always an inline calendar. Keep it accessible even if the vendor's
   ready message is delayed;
   its script still manages the iframe height. */
.booking-frame iframe {
  position:relative!important;
  left:auto!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important}

