/*
 * Grace Space inspired aesthetic overrides
 */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Source+Sans+3:wght@300;400;500;600&display=swap');

:root {
  --grace-ink: #173b44;
  --grace-accent: #d9b877;
  --grace-cream: #f5f1eb;
  --grace-soft-blue: #7ca1aa;
  --grace-midnight: #1e2f3f;
  --grace-muted: #8c9aa7;
}

:root,
body,
.scheme_default,
.scheme_light,
.scheme_dark,
.scheme_alter,
.scheme_extra,
.scheme_inverse {
  --theme-color-bg_color: var(--grace-cream);
  --theme-color-bd_color: rgba(23, 59, 68, 0.12);
  --theme-color-text: var(--grace-ink);
  --theme-color-text_light: var(--grace-muted);
  --theme-color-text_dark: var(--grace-midnight);
  --theme-color-text_link: #3c7a80;
  --theme-color-text_hover: #1e4c57;
  --theme-color-text_link2: var(--grace-accent);
  --theme-color-text_hover2: #e8c990;
  --theme-color-text_link3: var(--grace-soft-blue);
  --theme-color-text_hover3: #608995;
  --theme-color-alter_bg_color: #ffffff;
  --theme-color-alter_bg_hover: #f0ede6;
  --theme-color-alter_bd_color: rgba(23, 59, 68, 0.08);
  --theme-color-alter_bd_hover: rgba(23, 59, 68, 0.2);
  --theme-color-alter_text: var(--grace-ink);
  --theme-color-alter_light: var(--grace-muted);
  --theme-color-alter_dark: var(--grace-midnight);
  --theme-color-alter_link: #3c7a80;
  --theme-color-alter_hover: #1e4c57;
  --theme-color-alter_link2: var(--grace-accent);
  --theme-color-alter_hover2: #e8c990;
  --theme-color-alter_link3: var(--grace-soft-blue);
  --theme-color-alter_hover3: #608995;
  --theme-color-extra_bg_color: var(--grace-midnight);
  --theme-color-extra_bg_hover: #173b44;
  --theme-color-extra_bd_color: rgba(255, 255, 255, 0.12);
  --theme-color-extra_bd_hover: rgba(255, 255, 255, 0.25);
  --theme-color-extra_text: #f5f1eb;
  --theme-color-extra_light: #dfe7ea;
  --theme-color-extra_dark: #ffffff;
  --theme-color-extra_link: var(--grace-accent);
  --theme-color-extra_hover: #ffffff;
  --theme-color-extra_link2: var(--grace-soft-blue);
  --theme-color-extra_hover2: #a6c4ca;
  --theme-color-extra_link3: #3c7a80;
  --theme-color-extra_hover3: #f5f1eb;
  --theme-color-input_bg_color: #ffffff;
  --theme-color-input_bg_hover: #f8f3ea;
  --theme-color-input_bd_color: rgba(23, 59, 68, 0.25);
  --theme-color-input_bd_hover: var(--grace-accent);
  --theme-color-input_text: var(--grace-ink);
  --theme-color-input_light: var(--grace-muted);
  --theme-color-input_dark: var(--grace-midnight);
  --theme-color-inverse_bd_color: rgba(255, 255, 255, 0.28);
  --theme-color-inverse_bd_hover: rgba(255, 255, 255, 0.45);
  --theme-color-inverse_text: #f5f1eb;
  --theme-color-inverse_light: #dfe7ea;
  --theme-color-inverse_dark: #ffffff;
  --theme-color-inverse_link: var(--grace-accent);
  --theme-color-inverse_hover: #ffffff;
}

body {
  font-family: 'Source Sans 3', 'Helvetica Neue', Arial, sans-serif;
  color: var(--grace-ink);
  background-color: var(--grace-cream);
  line-height: 1.8;
}

.page_wrap,
.body_wrap,
.content_wrap,
.page_content_wrap,
.top_panel,
.footer_wrap {
  background-color: transparent;
  color: var(--grace-ink);
}

.page_content_wrap,
.content_wrap,
.sidebar,
.footer_wrap .widgets_area,
.widgets_area_inner,
.comments_list_wrap,
.comments_form_wrap {
  max-width: 1200px;
}

.page_content_wrap,
.content_wrap,
.widgets_area_inner,
.comments_form_wrap {
  margin-left: auto;
  margin-right: auto;
}

.page_content_wrap {
  padding: 4rem 1.5rem 6rem;
  background: transparent;
}

.breadcrumbs,
.top_panel_default .breadcrumbs {
  font-size: 0.78rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--grace-muted);
}

.breadcrumbs a {
  color: #3c7a80;
}

.breadcrumbs a:hover,
.breadcrumbs span.current {
  color: #1e4c57;
}

.page_title,
.top_panel_title,
.top_panel_default .top_panel_title {
  background: var(--grace-cream);
  padding: 4rem 0 3rem;
  border-bottom: 1px solid rgba(23, 59, 68, 0.08);
}

.page_title .page_title_text,
.top_panel_title .page_title_text {
  font-family: 'Playfair Display', 'Times New Roman', serif;
  font-size: 3rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 1.2rem;
  color: var(--grace-midnight);
  text-align: center;
}

.page_title .breadcrumbs,
.top_panel_title .breadcrumbs {
  justify-content: center;
}

.page_content_wrap .content_wrap,
.sidebar {
  display: grid;
  gap: 3rem;
}

.content_wrap .content,
.content_wrap .sidebar {
  display: grid;
  gap: 2.5rem;
}

.post_item,
.post_layout_classic .post_item,
.post_layout_excerpt,
.related_wrap .post_item,
.comments_list_wrap .comment_body,
.widget,
.sidebar .widget,
.footer_wrap .widget,
.page_content_wrap .wp-block-group.is-style-default,
.page_content_wrap .wp-block-group.is-style-card,
.page_content_wrap .wp-block-cover,
.page_content_wrap .wp-block-columns {
  background: #ffffff;
  border-radius: 24px;
  box-shadow: 0 24px 48px rgba(23, 59, 68, 0.08);
  border: 1px solid rgba(23, 59, 68, 0.06);
  padding: 2.8rem;
}

.post_item_single.post_type_post,
.post_item_single.post_type_page {
  background: #ffffff;
  border-radius: 32px;
  box-shadow: 0 30px 60px rgba(23, 59, 68, 0.08);
  padding: 4rem 4rem 3.5rem;
}

.post_item .post_featured,
.post_item_single .post_featured {
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(23, 59, 68, 0.1);
}

.post_item .post_title,
.post_item_single .post_title {
  font-family: 'Playfair Display', 'Times New Roman', serif;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--grace-midnight);
}

.post_item .post_title a,
.post_item_single .post_title a {
  color: inherit;
}

.post_item .post_title a:hover,
.post_item_single .post_title a:hover {
  color: #1e4c57;
}

.post_meta,
.post_meta_item,
.post_meta_item a {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.24em;
  color: var(--grace-muted);
}

.post_meta_item a:hover {
  color: var(--grace-midnight);
}

.post_item .post_excerpt,
.post_item_single .post_content,
.post_item_single .post_content p {
  color: var(--grace-ink);
  font-size: 1.05rem;
}

.post_item .readmore,
.post_item .more-link {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--grace-soft-blue);
}

.post_item .readmore:after,
.post_item .more-link:after {
  content: '\2192';
  transition: transform 0.3s ease;
}

.post_item .readmore:hover:after,
.post_item .more-link:hover:after {
  transform: translateX(4px);
}

.comments_list_wrap .comment_author,
.comments_list_wrap .comment_date {
  font-size: 0.85rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--grace-muted);
}

.comments_list_wrap .comment_reply a {
  color: var(--grace-accent);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 600;
}

.comments_form_wrap {
  background: #ffffff;
  border-radius: 32px;
  box-shadow: 0 24px 48px rgba(23, 59, 68, 0.08);
  padding: 3rem;
}

.widget .widget_title,
.widget .widgettitle,
.widget .sc_item_title {
  font-family: 'Playfair Display', 'Times New Roman', serif;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-size: 1rem;
  margin-bottom: 1.5rem;
  color: var(--grace-midnight);
}

.widget ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.widget ul li {
  padding: 0.75rem 0;
  border-bottom: 1px solid rgba(23, 59, 68, 0.08);
}

.widget ul li:last-child {
  border-bottom: none;
}

.widget ul li a {
  color: var(--grace-ink);
  letter-spacing: 0.08em;
}

.widget ul li a:hover {
  color: var(--grace-soft-blue);
}

.page_content_wrap .wp-block-quote,
blockquote,
q {
  border-left: 4px solid var(--grace-accent);
  padding-left: 1.8rem;
  font-style: italic;
  color: var(--grace-soft-blue);
}

.page_content_wrap table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid rgba(23, 59, 68, 0.12);
  border-radius: 18px;
  overflow: hidden;
}

.page_content_wrap table th,
.page_content_wrap table td {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid rgba(23, 59, 68, 0.08);
  text-align: left;
}

.page_content_wrap table thead {
  background: rgba(217, 184, 119, 0.18);
  color: var(--grace-midnight);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.page_content_wrap table tbody tr:hover {
  background: rgba(124, 161, 170, 0.08);
}

.page_content_wrap figcaption {
  font-size: 0.85rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--grace-muted);
  margin-top: 0.75rem;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="password"],
textarea,
select,
.wp-block-search__input {
  font-family: 'Source Sans 3', 'Helvetica Neue', Arial, sans-serif;
  font-size: 1rem;
  border-radius: 999px;
  border: 1px solid rgba(23, 59, 68, 0.2);
  padding: 0.85rem 1.4rem;
  background: #ffffff;
  color: var(--grace-ink);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

textarea {
  border-radius: 24px;
  padding: 1.2rem 1.4rem;
  min-height: 180px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus,
.wp-block-search__input:focus {
  border-color: var(--grace-accent);
  box-shadow: 0 0 0 3px rgba(217, 184, 119, 0.3);
  outline: none;
}

input::placeholder,
textarea::placeholder,
.wp-block-search__input::placeholder {
  color: var(--grace-muted);
  letter-spacing: 0.08em;
}

label,
.comment-form label,
.wpcf7-form label {
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--grace-midnight);
  display: block;
  margin-bottom: 0.75rem;
}

.wp-block-search__button,
.search_form_wrap .search_submit {
  border-radius: 999px;
}

body a {
  color: var(--grace-soft-blue);
  transition: color 0.3s ease;
}

body a:hover,
body a:focus {
  color: var(--grace-midnight);
}

h1,
h2,
h3,
h4,
h5,
h6,
.front_page_section_caption,
.sc_item_title,
.sc_item_subtitle {
  font-family: 'Playfair Display', 'Times New Roman', serif;
  color: var(--grace-midnight);
  letter-spacing: 0.12em;
}

.front_page_section_caption,
.sc_item_title {
  text-transform: uppercase;
}

p,
.front_page_section_description,
.front_page_section_content {
  font-size: 1.05rem;
  color: var(--grace-ink);
}

/* Announcement bar */
.top_panel_announcement {
  background: linear-gradient(90deg, #1a4c57 0%, #173b44 100%);
  color: #fff;
  font-size: 0.8rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.top_panel_announcement .content_wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: 1.75rem;
  row-gap: 0.65rem;
  padding: 0.9rem 2.25rem;
  flex-wrap: wrap;
}

.top_panel_announcement .announcement_primary {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  max-width: 720px;
}

.top_panel_announcement .announcement_message {
  font-weight: 600;
  letter-spacing: 0.22em;
}

.top_panel_announcement .announcement_scholarship {
  font-size: 0.72rem;
  letter-spacing: 0.24em;
  opacity: 0.82;
}

.top_panel_announcement a,
.top_panel_announcement .announcement_scholarship {
  color: #fff;
  font-weight: 600;
  text-decoration: none;
}

.top_panel_announcement .announcement_actions {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}

.top_panel_announcement .announcement_cta {
  padding: 0.5rem 1.5rem;
  border-radius: 999px;
  background: var(--grace-accent);
  color: var(--grace-midnight);
}

.top_panel_announcement .announcement_cta:hover,
.top_panel_announcement .announcement_cta:focus {
  background: #e8c990;
  color: var(--grace-midnight);
}

.top_panel_announcement .announcement_login {
  opacity: 0.85;
}

.top_panel_announcement .announcement_login:hover,
.top_panel_announcement .announcement_login:focus {
  opacity: 1;
}

.top_panel_branding {
  background: #fdfbf6;
  border-bottom: 1px solid rgba(23, 59, 68, 0.08);
  padding: 2.4rem 0 1.9rem;
}

.top_panel_branding .content_wrap {
  display: flex;
  justify-content: center;
}

.top_panel_branding_identity {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.85rem;
  text-align: center;
}

.top_panel_branding_icon {
  width: 68px;
  height: 68px;
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0.65;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpath fill='%23d9b877' d='M58.7 4.3c-2.6 15.2 3.9 36.4 3.9 36.4s-6-9.6-12.9-15.3C40.3 17 31 14.6 31 14.6s11.2 9.6 16.4 20.5c5.4 11.1 6.8 19.7 6.8 19.7s-6.8-7.9-14.4-11.8c-7.7-4-17.9-4.5-17.9-4.5s10.6 6.7 16 14.9c5.4 8.3 8.8 18.1 8.8 18.1s-8.3-6-16.8-8c-8.5-2-18.6-0.9-18.6-0.9s11.6 4.7 18.7 9.8c7.2 5.2 14.4 13.5 14.4 13.5s-9.6-2.5-17.7-1.7c-8.1 0.9-17.8 5.1-17.8 5.1s12.3 1.9 19.9 5.5c7.5 3.6 14.6 9.9 14.6 9.9s-8.1 0.1-14.7 2.8c-6.6 2.7-13.7 8.2-13.7 8.2s10.7-0.7 18.6 1.2c7.9 1.9 15.2 7.3 15.2 7.3s-5.6 2.4-10.2 6.2c-4.6 3.8-9 9.7-9 9.7s9.5-3.3 16.8-2.7c7.3 0.6 12.9 3.6 12.9 3.6s-4.2 3.7-6.7 8c-2.6 4.2-4.1 9.9-4.1 9.9s7.4-5.9 13.6-7.7c6.2-1.8 12.1-1.2 12.1-1.2s-2.8 6-3.3 11c-0.5 4.9 0.5 10.6 0.5 10.6s4.2-7.2 8.6-10.7c4.5-3.5 10.3-5 10.3-5s-2 5.4-2 10.3c0 4.8 1.6 10.1 1.6 10.1s3.8-7.6 7.7-11.4c3.9-3.8 8.9-5.8 8.9-5.8s-1.1 4.7-0.4 9.2c0.6 4.6 3.2 9.7 3.2 9.7s2.5-6.7 5.4-10.1c2.9-3.4 6.8-5.3 6.8-5.3s0.2 3.5 1.5 7c1.3 3.5 4.1 7 4.1 7s0.8-5.9 2.7-9.6c1.9-3.8 5.2-6.7 5.2-6.7s1.2 2.6 3.4 4.9c2.3 2.2 5.7 3.9 5.7 3.9s-0.5-5.1 0.4-8.6c0.9-3.4 3.3-6.4 3.3-6.4s1.5 1.7 3.8 2.8c2.3 1.1 5.4 1.5 5.4 1.5s-1.6-3.7-1.6-6.5c-0.1-2.7 0.9-5.7 0.9-5.7s1.8 1 3.8 1.1c2 0.1 4.4-0.8 4.4-0.8s-2.3-2.3-3.1-4.6c-0.8-2.3-0.6-4.9-0.6-4.9s1.7 0.4 3.3-0.3c1.7-0.7 3.2-2.4 3.2-2.4s-3-1.3-4.4-3.1c-1.4-1.8-2-4.2-2-4.2s1.5-0.1 2.9-1.1c1.5-1 2.5-2.8 2.5-2.8s-2.9-0.5-4.5-1.7c-1.6-1.3-2.6-3.4-2.6-3.4s1.1-0.3 2.3-1.4c1.2-1.2 2-3.1 2-3.1s-2.8-0.2-4.3-1.3c-1.5-1.2-2.4-3.3-2.4-3.3s1.1-0.3 2.3-1.6c1.2-1.3 1.9-3.6 1.9-3.6s-2.7 0-4.1-1.3c-1.4-1.3-2.1-3.7-2.1-3.7s1.1-0.2 2.2-1.6c1.1-1.4 1.5-3.9 1.5-3.9s-2.5 0.2-3.7-0.8c-1.2-1.1-1.5-3.4-1.5-3.4s1 0 2-1.2c1-1.2 1.2-3.4 1.2-3.4s-2.1 0.4-3.1-0.4c-1-0.9-1-2.9-1-2.9s0.8 0.2 1.6-0.5c0.8-0.7 0.9-2.2 0.9-2.2s-1.6 0.4-2.4-0.2c-0.8-0.6-0.7-2.1-0.7-2.1s0.6 0.1 1.2-0.6c0.6-0.7 0.6-2.1 0.6-2.1s-1.4 0.2-2.1-0.4c-0.7-0.6-0.6-2-0.6-2s0.6 0 1-0.7c0.4-0.7 0.3-1.8 0.3-1.8s-1.2 0.1-1.7-0.4c-0.5-0.6-0.3-1.8-0.3-1.8s0.5 0 0.8-0.6c0.3-0.6 0.2-1.5 0.2-1.5s-1 0.1-1.4-0.4c-0.4-0.5-0.1-1.4-0.1-1.4s0.4 0 0.6-0.5c0.3-0.5 0.2-1.3 0.2-1.3s-0.9 0.1-1.2-0.3c-0.3-0.4 0-1.1 0-1.1s0.3 0 0.5-0.4c0.2-0.4 0.1-1 0.1-1s-0.7 0.1-0.9-0.2c-0.2-0.3 0-0.8 0-0.8s0.3 0 0.4-0.4c0.1-0.3 0.1-0.8 0.1-0.8s-0.6 0.1-0.7-0.2c-0.1-0.3 0.1-0.8 0.1-0.8s0.2 0.1 0.3-0.1c0.1-0.2 0.2-0.6 0.2-0.6s-0.6 0.1-0.7-0.2c-0.1-0.2 0.1-0.6 0.1-0.6s0.2 0 0.2-0.2c0.1-0.2 0.1-0.5 0.1-0.5s-0.5 0.1-0.6-0.1c-0.1-0.2 0-0.5 0-0.5s0.2 0.1 0.2-0.1c0-0.1 0.1-0.4 0.1-0.4s-0.4 0.1-0.4-0.1c0-0.2 0.1-0.4 0.1-0.4s0.1 0 0.1-0.2c0.1-0.2 0-0.3 0-0.3s-0.3 0.1-0.3 0c0-0.1 0.1-0.3 0.1-0.3s0.1 0 0.1-0.2c0-0.1 0-0.2 0-0.2s-0.3 0.1-0.3 0c0-0.1 0.1-0.2 0.1-0.2s0.1 0 0.1-0.1c0-0.1-0.1-0.1-0.1-0.1s-0.2 0.1-0.2 0c0-0.1 0.1-0.1 0.1-0.1s0-0.1-0.1-0.1c0-0.1-0.1-0.1-0.1-0.1s-0.1 0.1-0.1 0c0-0.1 0-0.1 0-0.1s0 0-0.1 0c0 0-0.1 0.1-0.1 0.1s0 0-0.1 0c0 0-0.1 0.1-0.1 0.1s0 0-0.1 0c0 0-0.1 0.1-0.1 0.1s0 0-0.1 0c0 0-0.1 0.1-0.1 0.1s0 0-0.1 0c0 0-0.1 0.1-0.1 0.1s0 0-0.1 0c0 0-0.1 0.1-0.1 0.1s0 0-0.1 0c0 0-0.1 0.1-0.1 0.1s0 0-0.1 0c0 0-0.1 0.1-0.1 0.1s0 0-0.1 0c0 0-0.1 0.1-0.1 0.1s0 0-0.1 0c0 0-0.1 0.1-0.1 0.1s0 0-0.1 0c0 0-0.1 0.1-0.1 0.1z'/%3E%3C/svg%3E");
}

.top_panel_branding_text {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  align-items: center;
  text-align: center;
}

.top_panel_branding_text.has-logo .top_panel_branding_name {
  margin-top: 0.2rem;
}

.top_panel_branding_logo img {
  max-height: 78px;
  width: auto;
}

.top_panel_branding_name {
  font-family: "Source Serif 4", serif;
  font-size: 1.5rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--grace-midnight);
}

.top_panel_branding_tagline_line {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--grace-soft-blue);
}

/* Main navigation */
.top_panel_navi {
  background: #ffffff;
  border-bottom: 1px solid rgba(23, 59, 68, 0.08);
  box-shadow: 0 6px 18px rgba(23, 59, 68, 0.08);
}

.top_panel_navi .content_wrap {
  padding: 1.4rem 2.5rem;
}

.top_panel_navi_inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 2.5rem;
}

.top_panel_navi_inner nav {
  justify-self: center;
}

.top_panel_navi_actions {
  display: flex;
  align-items: center;
  gap: 1.75rem;
  justify-self: end;
}

.top_panel_navi .sc_layouts_logo img,
.top_panel_navi .sc_layouts_logo .logo_text {
  max-height: 64px;
  display: inline-block;
}

.top_panel_navi .sc_layouts_menu_nav > li > a,
.top_panel_navi .menu_main_nav_area > ul > li > a {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--grace-midnight);
  padding: 0.3rem 0;
  margin: 0 1.2rem;
  border-bottom: 2px solid transparent;
  transition: border-color 0.3s ease, color 0.3s ease;
}

.top_panel_navi .menu_main_nav_area > ul > li:hover > a,
.top_panel_navi .menu_main_nav_area > ul > li.current-menu-item > a,
.top_panel_navi .menu_main_nav_area > ul > li.current-menu-ancestor > a {
  color: var(--grace-soft-blue);
  border-bottom-color: var(--grace-accent);
}
/* Hero section */
.front_page_section_title {
  background: var(--grace-cream);
  position: relative;
}

.front_page_section_title .front_page_section_inner {
  padding: 8% 0 6%;
}

.front_page_section_title .front_page_section_content_wrap {
  max-width: 780px;
  margin: 0 auto;
  text-align: center;
  position: relative;
}

.front_page_section_title .front_page_section_content_wrap::before {
  content: '';
  display: block;
  width: 92px;
  height: 92px;
  margin: 0 auto 2rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0.75;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpath fill='%23d9b877' d='M58.7 4.3c-2.6 15.2 3.9 36.4 3.9 36.4s-6-9.6-12.9-15.3C40.3 17 31 14.6 31 14.6s11.2 9.6 16.4 20.5c5.4 11.1 6.8 19.7 6.8 19.7s-6.8-7.9-14.4-11.8c-7.7-4-17.9-4.5-17.9-4.5s10.6 6.7 16 14.9c5.4 8.3 8.8 18.1 8.8 18.1s-8.3-6-16.8-8c-8.5-2-18.6-0.9-18.6-0.9s11.6 4.7 18.7 9.8c7.2 5.2 14.4 13.5 14.4 13.5s-9.6-2.5-17.7-1.7c-8.1 0.9-17.8 5.1-17.8 5.1s12.3 1.9 19.9 5.5c7.5 3.6 14.6 9.9 14.6 9.9s-8.1 0.1-14.7 2.8c-6.6 2.7-13.7 8.2-13.7 8.2s10.7-0.7 18.6 1.2c7.9 1.9 15.2 7.3 15.2 7.3s-5.6 2.4-10.2 6.2c-4.6 3.8-9 9.7-9 9.7s9.5-3.3 16.8-2.7c7.3 0.6 12.9 3.6 12.9 3.6s-4.2 3.7-6.7 8c-2.6 4.2-4.1 9.9-4.1 9.9s7.4-5.9 13.6-7.7c6.2-1.8 12.1-1.2 12.1-1.2s-2.8 6-3.3 11c-0.5 4.9 0.5 10.6 0.5 10.6s4.2-7.2 8.6-10.7c4.5-3.5 10.3-5 10.3-5s-2 5.4-2 10.3c0 4.8 1.6 10.1 1.6 10.1s3.8-7.6 7.7-11.4c3.9-3.8 8.9-5.8 8.9-5.8s-1.1 4.7-0.4 9.2c0.6 4.6 3.2 9.7 3.2 9.7s2.5-6.7 5.4-10.1c2.9-3.4 6.8-5.3 6.8-5.3s0.2 3.5 1.5 7c1.3 3.5 4.1 7 4.1 7s0.8-5.9 2.7-9.6c1.9-3.8 5.2-6.7 5.2-6.7s1.2 2.6 3.4 4.9c2.3 2.2 5.7 3.9 5.7 3.9s-0.5-5.1 0.4-8.6c0.9-3.4 3.3-6.4 3.3-6.4s1.5 1.7 3.8 2.8c2.3 1.1 5.4 1.5 5.4 1.5s-1.6-3.7-1.6-6.5c-0.1-2.7 0.9-5.7 0.9-5.7s1.8 1 3.8 1.1c2 0.1 4.4-0.8 4.4-0.8s-2.3-2.3-3.1-4.6c-0.8-2.3-0.6-4.9-0.6-4.9s1.7 0.4 3.3-0.3c1.7-0.7 3.2-2.4 3.2-2.4s-3-1.3-4.4-3.1c-1.4-1.8-2-4.2-2-4.2s1.5-0.1 2.9-1.1c1.5-1 2.5-2.8 2.5-2.8s-2.9-0.5-4.5-1.7c-1.6-1.3-2.6-3.4-2.6-3.4s1.1-0.3 2.3-1.4c1.2-1.2 2-3.1 2-3.1s-2.8-0.2-4.3-1.3c-1.5-1.2-2.4-3.3-2.4-3.3s1.1-0.3 2.3-1.6c1.2-1.3 1.9-3.6 1.9-3.6s-2.7 0-4.1-1.3c-1.4-1.3-2.1-3.7-2.1-3.7s1.1-0.2 2.2-1.6c1.1-1.4 1.5-3.9 1.5-3.9s-2.5 0.2-3.7-0.8c-1.2-1.1-1.5-3.4-1.5-3.4s1 0 2-1.2c1-1.2 1.2-3.4 1.2-3.4s-2.1 0.4-3.1-0.4c-1-0.9-1-2.9-1-2.9s0.8 0.2 1.6-0.5c0.8-0.7 0.9-2.2 0.9-2.2s-1.6 0.4-2.4-0.2c-0.8-0.6-0.7-2.1-0.7-2.1s0.6 0.1 1.2-0.6c0.6-0.7 0.6-2.1 0.6-2.1s-1.4 0.2-2.1-0.4c-0.7-0.6-0.6-2-0.6-2s0.6 0 1-0.7c0.4-0.7 0.3-1.8 0.3-1.8s-1.2 0.1-1.7-0.4c-0.5-0.6-0.3-1.8-0.3-1.8s0.5 0 0.8-0.6c0.3-0.6 0.2-1.5 0.2-1.5s-1 0.1-1.4-0.4c-0.4-0.5-0.1-1.4-0.1-1.4s0.4 0 0.6-0.5c0.3-0.5 0.2-1.3 0.2-1.3s-0.9 0.1-1.2-0.3c-0.3-0.4 0-1.1 0-1.1s0.3 0 0.5-0.4c0.2-0.4 0.1-1 0.1-1s-0.7 0.1-0.9-0.2c-0.2-0.3 0-0.8 0-0.8s0.3 0 0.4-0.4c0.1-0.3 0.1-0.8 0.1-0.8s-0.6 0.1-0.7-0.2c-0.1-0.3 0.1-0.8 0.1-0.8s0.2 0.1 0.3-0.1c0.1-0.2 0.2-0.6 0.2-0.6s-0.6 0.1-0.7-0.2c-0.1-0.2 0.1-0.6 0.1-0.6s0.2 0 0.2-0.2c0.1-0.2 0.1-0.5 0.1-0.5s-0.5 0.1-0.6-0.1c-0.1-0.2 0-0.5 0-0.5s0.2 0.1 0.2-0.1c0-0.1 0.1-0.4 0.1-0.4s-0.4 0.1-0.4-0.1c0-0.2 0.1-0.4 0.1-0.4s0.1 0 0.1-0.2c0.1-0.2 0-0.3 0-0.3s-0.3 0.1-0.3 0c0-0.1 0.1-0.3 0.1-0.3s0.1 0 0.1-0.2c0-0.1 0-0.2 0-0.2s-0.3 0.1-0.3 0c0-0.1 0.1-0.2 0.1-0.2s0.1 0 0.1-0.1c0-0.1-0.1-0.1-0.1-0.1s-0.2 0.1-0.2 0c0-0.1 0.1-0.1 0.1-0.1s0-0.1-0.1-0.1c0-0.1-0.1-0.1-0.1-0.1s-0.1 0.1-0.1 0c0-0.1 0-0.1 0-0.1s0 0-0.1 0c0 0-0.1 0.1-0.1 0.1s0 0-0.1 0c0 0-0.1 0.1-0.1 0.1s0 0-0.1 0c0 0-0.1 0.1-0.1 0.1s0 0-0.1 0c0 0-0.1 0.1-0.1 0.1s0 0-0.1 0c0 0-0.1 0.1-0.1 0.1s0 0-0.1 0c0 0-0.1 0.1-0.1 0.1s0 0-0.1 0c0 0-0.1 0.1-0.1 0.1s0 0-0.1 0c0 0-0.1 0.1-0.1 0.1s0 0-0.1 0c0 0-0.1 0.1-0.1 0.1s0 0-0.1 0c0 0-0.1 0.1-0.1 0.1s0 0-0.1 0c0 0-0.1 0.1-0.1 0.1s0 0-0.1 0c0 0-0.1 0.1-0.1 0.1s0 0-0.1 0c0 0-0.1 0.1-0.1 0.1s0 0-0.1 0c0 0-0.1 0.1-0.1 0.1z'/%3E%3C/svg%3E");
}

.front_page_section_title_caption {
  font-size: 2.8rem;
  margin-bottom: 1.5rem;
}

.front_page_section_title_description {
  font-size: 1.15rem;
  color: var(--grace-muted);
  margin-bottom: 2.5rem;
}

.front_page_section_buttons,
.front_page_section_title_buttons {
  display: flex;
  justify-content: center;
  gap: 1.2rem;
  flex-wrap: wrap;
}

.front_page_section_buttons .sc_button,
.front_page_section_buttons .front_page_section_button,
.front_page_section_title_buttons .sc_button,
.front_page_section_title_buttons .front_page_section_button {
  padding: 0.95rem 2.8rem;
  border-radius: 999px;
  background: var(--grace-midnight);
  color: #fff !important;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 0.85rem;
  font-weight: 600;
  border: none;
  box-shadow: 0 12px 24px rgba(23, 59, 68, 0.18);
}

.front_page_section_buttons .sc_button:hover,
.front_page_section_buttons .front_page_section_button:hover,
.front_page_section_title_buttons .sc_button:hover,
.front_page_section_title_buttons .front_page_section_button:hover {
  background: var(--grace-soft-blue);
  color: #fff;
}

.front_page_section_title_buttons .sc_button:nth-child(2),
.front_page_section_title_buttons .front_page_section_button:nth-child(2) {
  background: transparent;
  color: var(--grace-midnight) !important;
  border: 2px solid var(--grace-accent);
  box-shadow: none;
}

.front_page_section_title_buttons .sc_button:nth-child(2):hover,
.front_page_section_title_buttons .front_page_section_button:nth-child(2):hover {
  background: var(--grace-accent);
  color: var(--grace-midnight) !important;
}

/* Section spacing */
.front_page_section {
  padding: 6rem 0;
}

.front_page_section:nth-child(even) .front_page_section_inner {
  background-color: #ffffff;
  border-radius: 24px;
  box-shadow: 0 24px 48px rgba(23, 59, 68, 0.08);
  padding: 5rem 5%;
}

/* Feature list styling */
.front_page_section_features .front_page_section_columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 2.5rem;
  align-items: stretch;
}

.front_page_section_features .front_page_section_columns > div {
  background: #ffffff;
  border-radius: 18px;
  padding: 2.5rem 2rem;
  box-shadow: 0 18px 40px rgba(23, 59, 68, 0.08);
}

.front_page_section_features .sc_services_item_title {
  font-size: 1.1rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
}

.front_page_section_features ul,
.front_page_section_features .sc_services_item_content ul {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0 0;
}

.front_page_section_features li {
  position: relative;
  padding-left: 2.2rem;
  margin-bottom: 1rem;
  font-size: 1rem;
}

.front_page_section_features li::before {
  content: '\2713';
  position: absolute;
  left: 0;
  top: 0.1rem;
  font-size: 1.1rem;
  color: var(--grace-accent);
}

/* About section imagery */
.front_page_section_about .front_page_section_columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 3.5rem;
  align-items: center;
}

.front_page_section_about .front_page_section_columns img {
  border-radius: 24px;
  box-shadow: 0 20px 40px rgba(23, 59, 68, 0.1);
}

.front_page_section_about blockquote,
.front_page_section_content blockquote {
  border-left: 4px solid var(--grace-accent);
  padding-left: 1.5rem;
  font-style: italic;
  color: var(--grace-soft-blue);
}

/* Testimonials */
.front_page_section_testimonials {
  background: linear-gradient(135deg, rgba(217, 184, 119, 0.15), rgba(124, 161, 170, 0.1));
}

.front_page_section_testimonials .sc_testimonials_item {
  background: #ffffff;
  border-radius: 24px;
  padding: 2.5rem;
  box-shadow: 0 18px 40px rgba(23, 59, 68, 0.08);
}

.front_page_section_testimonials .sc_testimonials_item_author_title {
  font-weight: 600;
  letter-spacing: 0.12em;
}

/* Buttons across the site */
.sc_button,
.wp-block-button__link,
input[type="submit"],
button[type="submit"] {
  border-radius: 999px;
  background: var(--grace-midnight);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.85rem;
  padding: 0.85rem 2.6rem;
  border: none;
  transition: transform 0.3s ease, background-color 0.3s ease;
}

.sc_button:hover,
.wp-block-button__link:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
  transform: translateY(-2px);
  background: var(--grace-soft-blue);
}

/* Footer styling */
.footer_wrap {
  background: #f0ede6;
  border-top: 1px solid rgba(23, 59, 68, 0.08);
  color: var(--grace-ink);
  padding-top: 4rem;
}

.footer_wrap .sc_layouts_row,
.footer_wrap .widgets_area {
  max-width: 1200px;
  margin: 0 auto;
}

.footer_wrap .sc_layouts_row,
.footer_wrap .widgets_area,
.footer_wrap .footer_widgets_inner {
  display: grid;
  gap: 2rem;
}

.footer_wrap .copyright_text,
.footer_wrap .copyright_text a {
  font-family: 'Source Sans 3', sans-serif;
  color: var(--grace-muted);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 0.75rem;
}

.footer_wrap .sc_socials_default .social_item .social_icon {
  background: var(--grace-midnight);
  color: #fff;
  border-radius: 50%;
}

/* Utilities */
.section_divider {
  width: 140px;
  height: 2px;
  background: var(--grace-accent);
  margin: 2rem auto;
}

.sc_layouts_column_align_right {
  justify-content: flex-end;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
  .top_panel_navi .content_wrap {
    padding: 1rem 1.5rem;
  }

  .front_page_section {
    padding: 4.5rem 0;
  }

  .front_page_section_title_caption {
    font-size: 2.2rem;
  }

  .page_content_wrap {
    padding: 3.5rem 1.5rem 5rem;
  }

  .post_item,
  .post_layout_classic .post_item,
  .post_layout_excerpt,
  .related_wrap .post_item,
  .comments_list_wrap .comment_body,
  .widget,
  .sidebar .widget,
  .footer_wrap .widget,
  .comments_form_wrap {
    padding: 2.2rem;
  }

  .post_item_single.post_type_post,
  .post_item_single.post_type_page {
    padding: 3rem 3rem 2.6rem;
  }
}

@media (max-width: 768px) {
  .top_panel_announcement .content_wrap {
    justify-content: center;
    padding: 0.85rem 1.5rem;
  }

  .top_panel_announcement .announcement_primary {
    text-align: center;
    align-items: center;
  }

  .top_panel_announcement .announcement_actions {
    width: 100%;
    justify-content: center;
    gap: 1rem;
  }

  .top_panel_navi .menu_main_nav_area > ul > li > a {
    margin: 0 0.6rem;
    letter-spacing: 0.16em;
  }

  .front_page_section:nth-child(even) .front_page_section_inner {
    padding: 3rem 8%;
  }

  .front_page_section_title .front_page_section_content_wrap::before {
    width: 72px;
    height: 72px;
  }

  .page_title,
  .top_panel_title,
  .top_panel_default .top_panel_title {
    padding: 3rem 0 2.2rem;
  }

  .page_title .page_title_text,
  .top_panel_title .page_title_text {
    font-size: 2.4rem;
    letter-spacing: 0.14em;
  }

  .page_content_wrap {
    padding: 3rem 1.25rem 4rem;
  }

  .post_item,
  .post_layout_classic .post_item,
  .post_layout_excerpt,
  .related_wrap .post_item,
  .comments_list_wrap .comment_body,
  .widget,
  .sidebar .widget,
  .footer_wrap .widget,
  .comments_form_wrap {
    padding: 1.8rem;
    border-radius: 20px;
  }

  .post_item_single.post_type_post,
  .post_item_single.post_type_page {
    padding: 2.6rem 2rem 2.2rem;
    border-radius: 26px;
  }
}

@media (max-width: 600px) {
  body {
    font-size: 15px;
  }

  .top_panel_announcement {
    text-align: center;
  }

  .front_page_section_title_caption {
    font-size: 1.9rem;
    letter-spacing: 0.08em;
  }

  .front_page_section_buttons .sc_button,
  .front_page_section_buttons .front_page_section_button {
    width: 100%;
    text-align: center;
  }

  .front_page_section:nth-child(even) .front_page_section_inner {
    padding: 2.8rem 10%;
    border-radius: 16px;
  }

  .front_page_section_features .front_page_section_columns {
    gap: 1.5rem;
  }

  .page_title .page_title_text,
  .top_panel_title .page_title_text {
    font-size: 1.9rem;
    letter-spacing: 0.1em;
  }

  .page_content_wrap {
    padding: 2.6rem 1rem 3.2rem;
  }

  .post_item,
  .post_layout_classic .post_item,
  .post_layout_excerpt,
  .related_wrap .post_item,
  .comments_list_wrap .comment_body,
  .widget,
  .sidebar .widget,
  .footer_wrap .widget,
  .comments_form_wrap {
    padding: 1.5rem;
    border-radius: 18px;
  }

  .post_item_single.post_type_post,
  .post_item_single.post_type_page {
    padding: 2.2rem 1.4rem 1.8rem;
    border-radius: 22px;
  }
}
