.elementor-kit-49{--e-global-color-primary:#A40A0B;--e-global-color-secondary:#C9A140;--e-global-color-text:#2A2A2A;--e-global-color-accent:#7A0607;--e-global-color-a03b571:#FFFFFF;--e-global-color-gcream:#F6F1E7;--e-global-color-gsand:#EADFCB;--e-global-color-gdark:#2B2521;--e-global-color-gmuted:#6F6A64;--e-global-color-gborder:#E3DCD0;--e-global-color-gnavy:#062A54;--e-global-color-ggoldtext:#7A5C17;--e-global-color-gmutedlight:#C4BBB0;--e-global-typography-primary-font-family:"Playfair Display";--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.2em;--e-global-typography-secondary-font-family:"Playfair Display";--e-global-typography-secondary-font-size:22px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-font-style:italic;--e-global-typography-secondary-line-height:1.4em;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.75em;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-size:13px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1.4em;--e-global-typography-accent-letter-spacing:2px;--e-global-typography-gdisplay-font-family:"Playfair Display";--e-global-typography-gdisplay-font-size:60px;--e-global-typography-gdisplay-font-weight:700;--e-global-typography-gdisplay-line-height:1.1em;--e-global-typography-gsmall-font-family:"Montserrat";--e-global-typography-gsmall-font-size:14px;--e-global-typography-gsmall-font-weight:400;--e-global-typography-gsmall-line-height:1.6em;--e-global-typography-gnav-font-family:"Montserrat";--e-global-typography-gnav-font-size:14px;--e-global-typography-gnav-font-weight:500;--e-global-typography-gnav-text-transform:uppercase;--e-global-typography-gnav-line-height:1em;--e-global-typography-gnav-letter-spacing:1px;--e-global-typography-gcardtitle-font-family:"Playfair Display";--e-global-typography-gcardtitle-font-size:22px;--e-global-typography-gcardtitle-font-weight:700;--e-global-typography-gcardtitle-line-height:1.25em;--e-global-typography-glead-font-family:"Montserrat";--e-global-typography-glead-font-size:18px;--e-global-typography-glead-font-weight:400;--e-global-typography-glead-line-height:1.7em;background-color:#FFFFFF;color:var( --e-global-color-text );font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:400;text-transform:none;text-decoration:none;line-height:1.75em;letter-spacing:0px;}.elementor-kit-49 button,.elementor-kit-49 input[type="button"],.elementor-kit-49 input[type="submit"],.elementor-kit-49 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Montserrat", Sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;text-decoration:none;line-height:1em;letter-spacing:1.5px;color:var( --e-global-color-a03b571 );border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-primary );border-radius:0px 0px 0px 0px;padding:16px 32px 16px 32px;}.elementor-kit-49 button:hover,.elementor-kit-49 button:focus,.elementor-kit-49 input[type="button"]:hover,.elementor-kit-49 input[type="button"]:focus,.elementor-kit-49 input[type="submit"]:hover,.elementor-kit-49 input[type="submit"]:focus,.elementor-kit-49 .elementor-button:hover,.elementor-kit-49 .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-a03b571 );}.elementor-kit-49 e-page-transition{background-color:#FFBC7D;}.elementor-kit-49 p{margin-block-end:20px;}.elementor-kit-49 a{color:var( --e-global-color-primary );}.elementor-kit-49 a:hover{color:var( --e-global-color-accent );}.elementor-kit-49 h1{color:var( --e-global-color-text );font-family:"Playfair Display", Sans-serif;font-size:52px;font-weight:700;text-transform:none;font-style:normal;text-decoration:none;line-height:1.2em;letter-spacing:0px;}.elementor-kit-49 h2{color:var( --e-global-color-text );font-family:"Playfair Display", Sans-serif;font-size:40px;font-weight:700;text-transform:none;font-style:normal;text-decoration:none;line-height:1.2em;letter-spacing:0px;}.elementor-kit-49 h3{color:var( --e-global-color-text );font-family:"Playfair Display", Sans-serif;font-size:28px;font-weight:700;text-transform:none;font-style:normal;text-decoration:none;line-height:1.2em;letter-spacing:0px;}.elementor-kit-49 h4{color:var( --e-global-color-text );font-family:"Playfair Display", Sans-serif;font-size:22px;font-weight:700;text-transform:none;font-style:normal;text-decoration:none;line-height:1.2em;letter-spacing:0px;}.elementor-kit-49 h5{color:var( --e-global-color-text );font-family:"Playfair Display", Sans-serif;font-size:18px;font-weight:700;text-transform:none;font-style:normal;text-decoration:none;line-height:1.2em;letter-spacing:0px;}.elementor-kit-49 h6{color:var( --e-global-color-secondary );font-family:"Montserrat", Sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:1.4em;letter-spacing:2px;}.elementor-kit-49 input:not([type="button"]):not([type="submit"]),.elementor-kit-49 textarea,.elementor-kit-49 .elementor-field-textual{font-family:"Montserrat", Sans-serif;font-size:15px;color:#2A2A2A;background-color:#FFFFFF;border-radius:0px 0px 0px 0px;padding:12px 16px 12px 16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:20px;--container-default-padding-right:20px;--container-default-padding-bottom:20px;--container-default-padding-left:20px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-49{--e-global-typography-secondary-font-size:20px;--e-global-typography-gdisplay-font-size:48px;--e-global-typography-gcardtitle-font-size:20px;}.elementor-kit-49 h1{font-size:42px;}.elementor-kit-49 h2{font-size:34px;}.elementor-kit-49 h3{font-size:25px;}.elementor-kit-49 h4{font-size:20px;}.elementor-kit-49 h5{font-size:17px;}.elementor-kit-49 h6{font-size:13px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:20px;--container-default-padding-right:20px;--container-default-padding-bottom:20px;--container-default-padding-left:20px;}}@media(max-width:767px){.elementor-kit-49{--e-global-typography-secondary-font-size:18px;--e-global-typography-gdisplay-font-size:36px;--e-global-typography-gcardtitle-font-size:20px;--e-global-typography-glead-font-size:17px;}.elementor-kit-49 h1{font-size:34px;}.elementor-kit-49 h2{font-size:28px;}.elementor-kit-49 h3{font-size:22px;}.elementor-kit-49 h4{font-size:19px;}.elementor-kit-49 h5{font-size:17px;}.elementor-kit-49 h6{font-size:13px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:20px;--container-default-padding-right:16px;--container-default-padding-bottom:20px;--container-default-padding-left:16px;}}/* Start custom CSS *//* === Grace: accessibility & small UI rules (added during build) === */
/* Visible keyboard focus everywhere */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--e-global-color-ggoldtext); outline-offset: 3px;
}
/* White focus ring on red / dark areas */
.grace-hero :focus-visible, .elementor-location-footer :focus-visible, .elementor-location-header > .e-con:first-child :focus-visible {
  outline-color: #FFFFFF;
}
/* Quick-link tiles (home) */
a.grace-tile { text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
a.grace-tile:hover, a.grace-tile:focus-visible { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(0,0,0,.12); }
/* Respect reduced-motion settings */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
  a.grace-tile:hover, .grace-event-card:hover { transform: none; }
}
/* === end Grace rules === */

/* === Grace: history timeline === */
.grace-timeline .gt{margin-top:8px}
.grace-timeline .gt-entry{display:grid;grid-template-columns:96px minmax(0,1fr);column-gap:56px;position:relative;padding-bottom:40px}
.grace-timeline .gt-entry::before{content:"";position:absolute;top:10px;bottom:-10px;left:123px;width:2px;background:var(--e-global-color-gborder)}
.grace-timeline .gt-entry:last-child::before{bottom:auto;height:24px}
.grace-timeline .gt-year{position:sticky;top:150px;align-self:start;text-align:right;font-family:var(--e-global-typography-primary-font-family),serif;font-size:30px;font-weight:700;line-height:1;color:var(--e-global-color-primary)}
.grace-timeline .gt-year::after{content:"";position:absolute;top:8px;right:-34px;width:14px;height:14px;border-radius:50%;background:var(--e-global-color-secondary);box-shadow:0 0 0 4px #fff}
.grace-timeline .gt-body > :first-child{margin-top:0}
.grace-timeline .gt-body h3{font-size:19px;margin:1.4em 0 .5em;color:var(--e-global-color-text)}
.grace-timeline .gt-body h3:first-child{margin-top:4px}
.grace-timeline .gt-body p{margin:0 0 1em}
.grace-timeline .gt-body ul{margin:0 0 1em 1.2em}
.grace-timeline .gt-body figure{margin:1.2em 0 1.6em}
.grace-timeline .gt-body figure img{display:block;width:100%;height:auto;border:1px solid var(--e-global-color-gborder)}
.grace-timeline .gt-body figcaption{font-size:14px;line-height:1.5;color:var(--e-global-color-gmuted);margin-top:8px;font-style:italic}
@media (max-width:767px){
 .grace-timeline .gt-entry{grid-template-columns:minmax(0,1fr);row-gap:10px;padding-left:28px;padding-bottom:32px}
 .grace-timeline .gt-entry::before{left:5px;top:6px}
 .grace-timeline .gt-year{position:static;text-align:left;font-size:26px}
 .grace-timeline .gt-year::after{right:auto;left:-1px;top:6px}
}
/* === end timeline === */

/* === Grace: staff profile photo fills its column === */
.elementor-widget-image.grace-profile-photo, .elementor-widget-image.grace-profile-photo .elementor-widget-container{height:100%}
.elementor-widget-image.grace-profile-photo img{height:100%;width:100%;object-fit:cover;object-position:top center}
@media (max-width:767px){.elementor-widget-image.grace-profile-photo img{height:400px}}
/* === end staff profile === */

/* === Grace: compact header on narrow desktops (1025–1200px) === */
@media (min-width:1025px) and (max-width:1200px){
  .elementor-location-header .elementor-widget-image.elementor-widget__width-initial{width:160px !important;max-width:160px}
  .elementor-location-header .elementor-nav-menu--main .elementor-item{padding-left:7px !important;padding-right:7px !important;font-size:12px !important;letter-spacing:.6px !important}
  .elementor-location-header .elementor-nav-menu--main .sub-arrow{margin-left:4px}
  .elementor-location-header .elementor-widget-button .elementor-button{padding-left:16px !important;padding-right:16px !important;font-size:12px !important}
  .elementor-location-header > .e-con:first-child .e-con{column-gap:12px !important}
  .elementor-location-header > .e-con:first-child .elementor-icon-list-item{font-size:12px !important}
  .elementor-location-header > .e-con:first-child .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-right:8px !important;padding-right:0 !important}
}
/* === end compact header === *//* End custom CSS */