:root {
  --forest: #20382d;
  --forest-light: #315244;
  --earth: #76533a;
  --gold: #c59a4a;
  --gold-light: #e0c488;
  --cream: #f5f0e6;
  --sand: #e8ddca;
  --ink: #2c302d;
  --white: #fffdf9;

  --cassiopeia-color-primary: #20382d;
  --cassiopeia-color-link: #76533a;
  --cassiopeia-color-hover: #c59a4a;
  --body-color: #2c302d;
  --body-bg: #fffdf9;
  --link-color: #76533a;
  --link-hover-color: #c59a4a;
  --body-font-family: "Cardo", Georgia, serif;
  --heading-font-family: "Fraunces", Georgia, serif;
  --bs-body-font-family: "Cardo", Georgia, serif;
}
html { scroll-behavior: smooth; }

body,
input,
textarea,
select,
button,
.btn,
.nav-link,
.mod-menu,
.breadcrumb,
.pagination {
  font-family: "Cardo", Georgia, serif !important;
}

body {
  color: var(--ink);
  background: var(--white);
  position: relative;
  font-size: 18px;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.site-title,
.page-header,
.item-title,
.card-title,
.signature,
.intro-strip strong,
.lead-copy,
.testimonial p {
  font-family: "Fraunces", Georgia, serif !important;
}

h2 { font-size: clamp(2.4rem, 5vw, 4.25rem); line-height: 1; font-weight: 600; margin-bottom: 1.5rem; }
h3 { font-weight: 700; }
a { text-decoration: none; }
.section-padding { padding: 7rem 0; }
.bg-cream { background: var(--cream); }
.text-earth { color: var(--earth); }
.text-gold { color: var(--gold-light); }
.eyebrow { text-transform: uppercase; letter-spacing: .18em; font-size: .75rem; font-weight: 700; }

.btn { border-radius: 999px; padding: .8rem 1.35rem; font-weight: 700; transition: .25s ease; }
.btn-gold { background: var(--gold); border-color: var(--gold); color: #1f2f27; }
.btn-gold:hover { background: var(--gold-light); border-color: var(--gold-light); transform: translateY(-2px); box-shadow: 0 10px 25px rgba(197,154,74,.28); }
#sp-footer {
    background: var(--forest);
}
/*top bar*/
#sp-header-topbar {
    background: #f1e8d6;
   margin: 0;
}
@media (max-width: 720px) {
    #sp-header-topbar {
      display: none;
    }
}
.sp-megamenu-parent>li>a, .sp-megamenu-parent>li>span {
    font-size: 18px;
}
/*hero*/
.hero-section { min-height: 100vh; position: relative; color: #fff; background: color(srgb 0 0 0 / 0.42);}
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(16,35,27,.9) 0%, rgba(16,35,27,.68) 52%, rgba(16,35,27,.18) 100%); }
.hero-content h1 { font-family: "Fraunces", Georgia, serif !important; font-weight: 700; line-height: .92; max-width: 900px; }
.hero-content .lead { max-width: 760px; color: rgba(255,255,255,.83); }
.hero-highlights { color: rgba(255,255,255,.78);}
.hero-highlights i { color: var(--gold-light); margin-right: .35rem; }
.scroll-down { position: absolute; bottom: 1.5rem; left: 50%; transform: translateX(-50%); width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; display: grid; place-items: center; color: #fff; animation: float 2s ease-in-out infinite; }
@keyframes float { 50% { transform: translate(-50%, 8px); } }

/* fraunces-300 - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/fraunces-v38-latin_latin-ext-300.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/fraunces-v38-latin_latin-ext-300.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* fraunces-regular - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/fraunces-v38-latin_latin-ext-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/fraunces-v38-latin_latin-ext-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* fraunces-italic - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/fraunces-v38-latin_latin-ext-italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/fraunces-v38-latin_latin-ext-italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* fraunces-600 - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/fraunces-v38-latin_latin-ext-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/fraunces-v38-latin_latin-ext-600.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* fraunces-600italic - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 600;
  src: url('../fonts/fraunces-v38-latin_latin-ext-600italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/fraunces-v38-latin_latin-ext-600italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* fraunces-700 - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/fraunces-v38-latin_latin-ext-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/fraunces-v38-latin_latin-ext-700.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* cardo-regular - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Cardo';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/cardo-v21-latin_latin-ext-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/cardo-v21-latin_latin-ext-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* cardo-italic - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Cardo';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/cardo-v21-latin_latin-ext-italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/cardo-v21-latin_latin-ext-italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* cardo-700 - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Cardo';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/cardo-v21-latin_latin-ext-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/cardo-v21-latin_latin-ext-700.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/*contact*/
.contact-section { background: #182f26; }
.contact-list a, .contact-list > div { display: flex; align-items: center; gap: 1rem; color: #fff; margin-bottom: 1.3rem; }
.contact-list i { width: 46px; height: 46px; border: 1px solid rgba(224,196,136,.4); border-radius: 50%; display: grid; place-items: center; color: var(--gold-light); }
.contact-list small { display: block; color: rgba(255,255,255,.5); margin-bottom: .15rem; }
/*why*/
#sp-why {
    background: var(--forest);
}
.benefit { display: flex; gap: 1rem; color: #fff; }
.benefit > i { min-width: 50px; height: 50px; display: grid; place-items: center; border: 1px solid rgba(224,196,136,.45); border-radius: 50%; color: var(--gold-light); font-size: 1.2rem; }
.benefit h3 { font-size: 1.35rem; margin-bottom: .25rem; }
.benefit p { color: rgba(255,255,255,.55); font-size: .9rem; margin: 0; }
/*service*/
.service-card { background: #fff; border: 1px solid rgba(118,83,58,.12); padding: 2rem; border-radius: 1.1rem; box-shadow: 0 12px 35px rgba(38,48,41,.06); transition: .3s ease; }
.service-card:hover { transform: translateY(-10px); box-shadow: 0 22px 45px rgba(38,48,41,.12); border-color: rgba(197,154,74,.5); }
.service-icon { width: 64px; height: 64px; border-radius: 50%; background: var(--cream); color: var(--earth); display: grid; place-items: center; font-size: 1.7rem; margin-bottom: 1.5rem; transition: .3s ease; }
.service-card:hover .service-icon { background: var(--forest); color: var(--gold-light); transform: rotate(-6deg); }
.service-card h3 { font-size: 1.75rem; }
.service-card p { color: #687069; }
.card-link { color: var(--earth); font-weight: 700; }
.card-link i { transition: .2s; }
.card-link:hover i { margin-left: .3rem; }
/*about-front*/
.image-frame { position: relative; padding: 1.2rem 1.2rem 0 0; }
.image-frame::before { content: ""; position: absolute; top: 0; right: 0; width: 78%; height: 78%; border: 2px solid var(--gold); }
.image-frame img { position: relative; z-index: 1; border-radius: .4rem; min-height: 540px; width: 100%; object-fit: cover; }
.image-note { position: absolute; z-index: 2; right: -1rem; bottom: 2rem; background: var(--forest); color: #fff; padding: 1rem 1.4rem; box-shadow: 0 15px 35px rgba(0,0,0,.2); }
.image-note strong, .image-note span { display: block; }
.image-note span { color: var(--gold-light); font-size: .75rem; }
.lead-copy { font-family: "Cormorant Garamond", serif; font-size: 1.5rem; color: var(--earth); }
.signature { color: var(--earth); font-size: 2rem; font-style: italic; }