:root {
  --green: #556f22;
  --deep: #263c14;
  --sage: #8aa05d;
  --cream: #fbf7ec;
  --paper: #fffdf7;
  --earth: #7a6847;
  --line: #e7ddc8;
  --shadow: 0 20px 60px rgba(38, 60, 20, .16);
  --cassiopeia-color-primary: #556f22;
  --cassiopeia-color-link: #556f22;
  --cassiopeia-color-hover: #263c14;
}

body {
  background: var(--cream);
  color: #2c321f;
  font-family: Inter, system-ui, sans-serif;
}

.container-header {
  background: rgba(251, 247, 236, .88);
  border-bottom: 1px solid rgba(231, 221, 200, .7);
  display: flex;
  align-items: center;
  gap: clamp(1.5rem, 4vw, 4rem);
  justify-content: flex-start;
  padding: 0 6vw;
  box-shadow: none;
  backdrop-filter: blur(16px);
}

.container-header > .grid-child {
  margin: 0;
  max-width: none;
  padding: 0;
  width: auto;
}

.container-header .navbar-brand {
  align-items: center;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.container-header .container-nav {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  justify-content: flex-start;
  padding-top: 0;
}

.container-header .navbar-brand {
  flex: 0 0 auto;
  margin: 0;
  padding: .65rem 0;
}

.container-header .navbar-brand img {
  max-height: 74px;
  width: auto;
  mix-blend-mode: multiply;
}

.container-header .site-description {
  color: var(--deep);
  font-size: .9rem;
  font-weight: 600;
  margin-top: .2rem;
}

.container-header .mod-menu {
  flex-wrap: nowrap;
  gap: 1rem;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.container-header .mod-menu > li > a,
.container-header .mod-menu > li > span {
  color: var(--deep);
  white-space: nowrap;
}

.charmoise-menu-toggle {
  align-items: center;
  background: var(--green);
  border: 0;
  border-radius: 999px;
  color: #fff;
  display: none;
  font-size: .78rem;
  font-weight: 800;
  gap: .55rem;
  letter-spacing: .06em;
  padding: .72rem 1rem;
  text-transform: uppercase;
}

.charmoise-menu-toggle span {
  display: grid;
  gap: 4px;
}

.charmoise-menu-toggle i {
  background: currentColor;
  border-radius: 2px;
  display: block;
  height: 2px;
  width: 18px;
}

.site-grid {
  gap: 0;
}

.com-content-article.item-page,
.com-content-article__body,
.container-component,
main {
  padding: 0;
}

.page-header,
.article-info,
.article-info-term,
.com-content-article__info,
.icons,
.breadcrumb,
.com-content-article:has(.charmoise-home) > .pagenavigation,
.container-sidebar-right,
.container-sidebar-left {
  display: none;
}

.charmoise-home {
  margin: 0 calc(50% - 50vw);
}

.charmoise-home img {
  max-width: 100%;
  display: block;
}

.charmoise-home a {
  color: inherit;
  text-decoration: none;
}

.charmoise-home .hero-bg {
  background: linear-gradient(90deg, rgba(251,247,236,.95) 0%, rgba(251,247,236,.78) 35%, rgba(251,247,236,.04) 70%), url('/images/charmoise/hero-sunset.jpg') center/cover no-repeat;
}

.charmoise-home .landscape {
  background: linear-gradient(90deg, rgba(38,60,20,.78), rgba(38,60,20,.2)), url('/images/charmoise/rusticite.jpg') center/cover no-repeat;
}

.charmoise-news-grid {
  grid-template-columns: 1fr 1fr;
}

.charmoise-news-module {
  display: contents;
}

.news-card .news-readmore {
  align-items: center;
  border-top: 1px solid var(--line);
  color: var(--green);
  display: inline-flex;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .08em;
  margin-top: 10px;
  padding-top: 14px;
  text-transform: uppercase;
}

.news-card .news-readmore:hover {
  color: var(--deep);
}

.charmoise-acym,
.card.charmoise-acym,
.bottom-a.card.charmoise-acym {
  background: var(--cream);
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  border-top: 1px solid var(--line);
  box-shadow: none;
  display: block;
  margin-top: 0;
  min-height: auto;
  padding: 38px 6vw;
  text-align: left;
}

.charmoise-acym .card-body {
  padding: 0;
  width: 100%;
}

.charmoise-acym .acym_module,
.charmoise-acym .acym_fulldiv,
.charmoise-acym form,
.charmoise-acym .acym_module_form {
  width: 100%;
}

.charmoise-acym .acym_module_form {
  align-items: center;
  display: flex;
  gap: 30px;
  justify-content: space-between;
}

.charmoise-acym .acym_introtext {
  max-width: 620px;
  text-align: left;
}

.charmoise-acym .acym_introtext h2 {
  font-size: 36px;
  margin-bottom: 4px;
}

.charmoise-acym .acym_introtext p {
  color: #2c321f;
  font-size: 1rem;
  line-height: 1.7;
  margin: 0;
}

.charmoise-acym-fields {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  min-width: min(560px, 100%);
}

.charmoise-acym .onefield {
  flex: 1 1 auto;
  margin: 0;
}

.charmoise-acym label {
  margin: 0;
}

.charmoise-acym input[type="email"],
.charmoise-acym input[type="text"],
.charmoise-acym .inputbox {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 16px 20px;
  background: #fff;
  font: inherit;
}

.charmoise-acym .acysubbuttons {
  margin: 0;
}

.charmoise-acym .subbutton {
  white-space: nowrap;
}

.all-news-link {
  align-items: center;
  display: flex;
  justify-content: center;
  padding-top: 22px;
}

.com-content-article.item-page:not(:has(.charmoise-home)) {
  max-width: 920px;
  margin: 0 auto;
  padding: 82px 6vw 96px;
}

.com-content-article.item-page:not(:has(.charmoise-home)) .page-header {
  display: block;
  margin-bottom: 28px;
}

.com-content-article.item-page:not(:has(.charmoise-home)) .page-header h1,
.com-content-article.item-page:not(:has(.charmoise-home)) .page-header h2 {
  color: var(--deep);
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(42px, 6vw, 74px);
  line-height: .95;
  margin: 0;
}

.com-content-article.item-page:not(:has(.charmoise-home)) .article-info,
.com-content-article.item-page:not(:has(.charmoise-home)) .fields-container {
  display: none;
}

.com-content-article.item-page:not(:has(.charmoise-home)) .item-image {
  float: none;
  margin: 0 0 30px;
}

.com-content-article.item-page:not(:has(.charmoise-home)) img {
  border-radius: 22px;
  height: auto;
  margin: 0 0 28px;
  max-height: 420px;
  object-fit: cover;
  width: 100%;
}

.com-content-article.item-page:not(:has(.charmoise-home)) .com-content-article__body {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: var(--shadow);
  padding: clamp(26px, 4vw, 46px);
}

.com-content-article.item-page:not(:has(.charmoise-home)) .com-content-article__body p {
  font-size: 1.05rem;
  margin: 0 0 1.1rem;
}

.com-content-article.item-page:not(:has(.charmoise-home)) .pagenavigation {
  margin-top: 28px;
}

.com-contact.contact {
  max-width: 920px;
  margin: 0 auto;
  padding: 82px 6vw 96px;
}

.com-contact.contact .page-header {
  display: block;
  margin-bottom: 28px;
}

.com-contact.contact h1,
.com-contact.contact h2,
.com-contact.contact h3 {
  color: var(--deep);
  font-family: 'Cormorant Garamond', serif;
}

.com-contact.contact h1,
.com-contact.contact h2 {
  font-size: clamp(42px, 6vw, 74px);
  line-height: .95;
}

.com-contact.contact .com-contact__container,
.com-contact.contact .contact-form {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: var(--shadow);
  padding: clamp(26px, 4vw, 46px);
}

.com-contact.contact .control-group {
  margin-bottom: 18px;
}

.com-contact.contact label {
  color: var(--deep);
  font-weight: 800;
}

.com-contact.contact input,
.com-contact.contact textarea {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px 16px;
}

.com-content-category-blog {
  max-width: 1120px;
  margin: 0 auto;
  padding: 76px 6vw 96px;
}

.com-content-category-blog .page-header {
  display: block;
}

.com-content-category-blog h1,
.com-content-category-blog .page-header h1 {
  color: var(--deep);
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(42px, 6vw, 72px);
  line-height: .95;
  margin-bottom: 34px;
}

.com-content-category-blog .blog-items {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.com-content-category-blog .blog-item {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: var(--shadow);
  overflow: hidden;
}

.com-content-category-blog .item-image {
  float: none;
  margin: 0;
}

.com-content-category-blog .item-image img {
  height: 230px;
  object-fit: cover;
  width: 100%;
}

.com-content-category-blog .item-content {
  padding: 26px;
}

.com-content-category-blog .item-title,
.com-content-category-blog h2 {
  font-size: 32px;
}

.com-content-category-blog .article-info,
.com-content-category-blog .fields-container {
  display: none;
}

.charmoise-footer {
  margin-top: 0;
  background: var(--deep);
  color: #efe8d8;
}

.charmoise-footer a,
.charmoise-footer p,
.charmoise-footer h3 {
  color: #efe8d8;
}

.charmoise-footer .footer-inner .grid-child {
  padding: 0;
}

@media (max-width: 1240px) {
  .container-header {
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap: .75rem;
    padding: 0 1.25rem;
  }

  .container-header > .grid-child:first-child {
    flex: 1 1 auto;
  }

  .charmoise-menu-toggle {
    display: inline-flex;
  }

  .container-header .container-nav {
    display: none;
    flex: 1 0 100%;
    padding-bottom: 1rem;
  }

  .container-header.menu-open .container-nav {
    display: flex;
  }

  .container-header .navbar-brand img {
    max-height: 58px;
  }

  .container-header .mod-menu {
    align-items: stretch;
    flex-direction: column;
    flex-wrap: wrap;
    gap: .25rem;
    width: 100%;
  }

  .container-header .mod-menu > li > a,
  .container-header .mod-menu > li > span {
    border-top: 1px solid var(--line);
    display: block;
    padding: .8rem 0;
  }

  .com-content-category-blog .blog-items {
    grid-template-columns: 1fr;
  }

  .all-news-link {
    padding-top: 18px;
  }

  .charmoise-acym .acym_module_form,
  .charmoise-acym-fields {
    align-items: stretch;
    flex-direction: column;
  }

  .charmoise-acym-fields {
    margin-top: 20px;
  }

  .charmoise-acym .subbutton {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .container-header {
    justify-content: center;
    padding: .55rem 1.25rem .8rem;
  }

  .container-header > .grid-child:first-child {
    display: flex;
    flex: 1 0 100%;
    justify-content: center;
  }

  .container-header .navbar-brand {
    align-items: center;
    padding: .3rem 0 0;
  }

  .charmoise-menu-toggle {
    margin: 0 auto;
  }

  .charmoise-home .hero-bg {
    background: linear-gradient(180deg, rgba(251,247,236,.88), rgba(251,247,236,.55) 40%, rgba(38,60,20,.2)), url('/images/charmoise/hero-sunset.jpg') center/cover no-repeat;
  }
}

:root{--green:#556f22;--deep:#263c14;--sage:#8aa05d;--cream:#fbf7ec;--paper:#fffdf7;--earth:#7a6847;--line:#e7ddc8;--shadow:0 20px 60px rgba(38,60,20,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--cream);color:#2c321f}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.unused-static-site-header{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px 6vw;background:rgba(251,247,236,.82);backdrop-filter:blur(16px);border-bottom:1px solid rgba(231,221,200,.55);transition:.25s}.unused-static-brand-logo{width:184px;height:auto;mix-blend-mode:multiply}.unused-static-main-nav{display:flex;gap:28px;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.unused-static-main-nav a{position:relative}.unused-static-main-nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--green);transition:.25s}.unused-static-main-nav a:hover:after{width:100%}.unused-static-menu-toggle{display:none;background:transparent;border:0;padding:8px;gap:5px;flex-direction:column}.unused-static-menu-toggle span{width:25px;height:2px;background:var(--green);display:block}.hero{min-height:92vh;position:relative;display:grid;align-items:center;overflow:hidden;padding:140px 6vw 80px}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,247,236,.95) 0%,rgba(251,247,236,.78) 35%,rgba(251,247,236,.04) 70%),url('/images/charmoise/hero-sunset.jpg') center/cover no-repeat;transform:scale(1.03)}.hero-content{position:relative;z-index:2;max-width:690px}.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--green);font-weight:800;margin:0 0 16px}.center{text-align:center}h1,h2{font-family:'Cormorant Garamond',serif;color:var(--deep);line-height:.95;margin:0 0 22px}h1{font-size:clamp(54px,8vw,116px);max-width:740px}h1 span{display:block;color:var(--green)}h2{font-size:clamp(36px,4.4vw,66px)}h3{font-family:'Cormorant Garamond',serif;font-size:26px;line-height:1.05;margin:0 0 10px;color:var(--deep)}p{line-height:1.75}.hero-text{font-size:20px;max-width:480px}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:15px 24px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--green);transition:.25s;cursor:pointer}.btn.primary{background:var(--green);color:#fff}.btn.light{background:var(--paper);color:var(--green)}.btn.ghost{background:rgba(255,255,255,.18);color:#fff;border-color:rgba(255,255,255,.72);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}.btn.outline{color:var(--green);background:transparent}.btn.small{padding:12px 18px}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.scroll-cue{position:absolute;bottom:28px;left:50%;z-index:3;color:#fff;font-size:36px;animation:bounce 1.5s infinite}@keyframes bounce{50%{transform:translateY(7px)}}.section{padding:94px 6vw}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;background:var(--paper)}.content{max-width:620px}.photo-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.photo-grid img{border-radius:22px;height:220px;width:100%;object-fit:cover;box-shadow:var(--shadow)}.photo-grid .big{grid-row:span 2;height:458px}.qualities{background:linear-gradient(180deg,var(--cream),#f4eddd)}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:44px}.card{background:rgba(255,255,255,.66);border:1px solid var(--line);border-radius:28px;padding:26px;text-align:center;min-height:245px}.card span{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 18px;border:1px solid var(--line);border-radius:50%;font-size:26px}.card p{font-size:14px}.map-section{display:grid;grid-template-columns:.78fr 1.22fr;gap:34px;align-items:stretch;background:var(--paper)}.map-text{background:#f5efdf;border-radius:30px;padding:44px}.stats{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:26px 0}.stats b{font-family:'Cormorant Garamond';font-size:32px;color:var(--green)}.stats span{text-transform:uppercase;font-size:12px;letter-spacing:.08em;align-self:center}.map-frame{min-height:500px;border-radius:30px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}.map-frame iframe{width:100%;height:100%;border:0}.landscape{min-height:430px;background:linear-gradient(90deg,rgba(38,60,20,.78),rgba(38,60,20,.2)),url('/images/charmoise/rusticite.jpg') center/cover no-repeat;display:flex;align-items:center;padding:70px 6vw}.landscape-card{max-width:560px;background:rgba(38,60,20,.75);color:#fff;padding:42px;border-radius:30px;backdrop-filter:blur(8px)}.landscape-card h2{color:#fff}.gallery,.news{background:var(--paper)}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:30px}.gallery-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gallery-row img{height:230px;width:100%;object-fit:cover;border-radius:22px}.news-grid{display:grid;grid-template-columns:1fr 1fr .95fr;gap:22px}.news-card{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden}.news-card img{height:170px;width:100%;object-fit:cover}.news-card div{padding:22px}.news-card time{color:var(--green);font-weight:800;font-size:12px;text-transform:uppercase}.news-card a{color:var(--green);font-weight:800}.join-card{background:linear-gradient(145deg,var(--green),var(--deep));color:#fff;border-radius:28px;padding:36px}.join-card h2{color:#fff}.charmoise-newsletter{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:38px 6vw;background:#f5efdf;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.charmoise-newsletter h2{font-size:36px;margin-bottom:4px}.charmoise-newsletter form{display:flex;gap:12px;min-width:min(560px,100%)}input{width:100%;border:1px solid var(--line);border-radius:999px;padding:16px 20px;background:#fff;font:inherit}.charmoise-footer .footer-inner{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px;background:var(--deep);color:#efe8d8;padding:58px 6vw}.charmoise-footer .footer-inner a{display:block;margin:10px 0;color:#efe8d8}.charmoise-footer .footer-inner h3{font-family:Inter;font-size:13px;color:#fff;text-transform:uppercase;letter-spacing:.12em}.footer-logo{width:190px;filter:brightness(1.6);mix-blend-mode:screen}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:1050px){.unused-static-main-nav{display:none}.unused-static-menu-toggle{display:flex}.unused-static-main-nav.open{position:absolute;display:flex;flex-direction:column;top:76px;left:5vw;right:5vw;background:var(--paper);padding:26px;border-radius:24px;box-shadow:var(--shadow)}.cards{grid-template-columns:repeat(2,1fr)}.split,.map-section,.news-grid{grid-template-columns:1fr}.map-frame{height:520px}.charmoise-footer .footer-inner{grid-template-columns:1fr 1fr}}@media(max-width:640px){.unused-static-site-header{padding:12px 18px}.unused-static-brand-logo{width:144px}.hero{min-height:92vh;padding:116px 22px 60px}.hero-bg{background:linear-gradient(180deg,rgba(251,247,236,.88),rgba(251,247,236,.55) 40%,rgba(38,60,20,.2)),url('/images/charmoise/hero-sunset.jpg') center/cover no-repeat}.hero-actions,.charmoise-newsletter form{flex-direction:column}.btn{width:100%}.section{padding:62px 22px}.split{gap:34px}.photo-grid{grid-template-columns:1fr 1fr}.photo-grid .big{grid-column:span 2;height:310px}.photo-grid img{height:150px}.cards,.gallery-row{grid-template-columns:1fr}.map-text{padding:28px}.map-frame{height:420px}.section-head,.charmoise-newsletter{display:block}.charmoise-newsletter{padding:34px 22px}.charmoise-newsletter form{margin-top:20px}.charmoise-footer .footer-inner{grid-template-columns:1fr;padding:46px 22px}.gallery-row img{height:220px}h1{font-size:58px}h2{font-size:39px}.hero-text{font-size:17px}.card{text-align:left;min-height:auto}.card span{margin-left:0}}
