.elementor-6396 .elementor-element.elementor-element-215dd52:not(.elementor-motion-effects-element-type-background), .elementor-6396 .elementor-element.elementor-element-215dd52 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-85d789f );}.elementor-6396 .elementor-element.elementor-element-215dd52 > .elementor-container{max-width:1200px;}.elementor-6396 .elementor-element.elementor-element-215dd52{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:64px 0px 64px 0px;}.elementor-6396 .elementor-element.elementor-element-215dd52 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-6396 .elementor-element.elementor-element-b63b9df{width:100%;max-width:100%;align-self:center;text-align:start;color:var( --e-global-color-e3192c1 );}.elementor-6396 .elementor-element.elementor-element-b63b9df > .elementor-widget-container{margin:0px 0px -5px 0px;padding:0px 0px 0px 0px;}.elementor-6396 .elementor-element.elementor-element-d4c1389{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:start;}.elementor-6396 .elementor-element.elementor-element-d4c1389 > .elementor-widget-container{margin:-10px 0px 0px 0px;}.elementor-6396 .elementor-element.elementor-element-d4c1389 .elementor-heading-title{font-family:"Fraunces", Sans-serif;font-size:clamp(30px,4.4vw,52px);font-weight:300;line-height:1.2em;color:#F4F1E9;}.elementor-6396 .elementor-element.elementor-element-22163d7{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;text-align:start;font-family:"Jost", Sans-serif;font-size:clamp(16px,1.8vw,19px);color:#F4F1E9BD;}.elementor-6396 .elementor-element.elementor-element-22163d7 > .elementor-widget-container{margin:20px 0px 0px 0px;}.elementor-6396 .elementor-element.elementor-element-1c65ee7 > .elementor-container{max-width:1200px;}.elementor-6396 .elementor-element.elementor-element-1c65ee7{padding:50px 0px 50px 0px;}.elementor-6396 .elementor-element.elementor-element-7a22015{--e-filter-direction:row;--e-filter-white-space:nowrap;--e-filter-wrap:wrap;--e-filter-overflow-x:initial;}.elementor-6396 .elementor-element.elementor-element-1b302d7{--grid-columns:3;}@media(max-width:1024px){.elementor-6396 .elementor-element.elementor-element-d4c1389 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-6396 .elementor-element.elementor-element-1b302d7{--grid-columns:2;}}@media(min-width:768px){.elementor-6396 .elementor-element.elementor-element-69ba691{width:100%;}}@media(max-width:767px){.elementor-6396 .elementor-element.elementor-element-b63b9df > .elementor-widget-container{margin:0px 0px -10px 0px;}.elementor-6396 .elementor-element.elementor-element-d4c1389 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-6396 .elementor-element.elementor-element-22163d7{width:100%;max-width:100%;}.elementor-6396 .elementor-element.elementor-element-22163d7 > .elementor-widget-container{margin:10px 0px 0px 0px;}.elementor-6396 .elementor-element.elementor-element-1b302d7{--grid-columns:1;}}/* Start custom CSS for text-editor, class: .elementor-element-b63b9df */.eyebrow {
  font-family: var(--f-sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .3em;
  text-transform: uppercase;

 display: inline-flex;
  align-items: center;
  gap: .7em;
  text-align: center;
}
.eyebrow::before {
  content: "";
  width: 26px;
  height: 1px;
  background: currentColor;
  opacity: .85;
}/* End custom CSS */
/* Start custom CSS for taxonomy-filter, class: .elementor-element-7a22015 *//* chips wrap onto multiple lines on mobile */
@media (max-width: 940px){
  .wt-filter.elementor-widget-taxonomy-filter .e-filter{
    flex-wrap: wrap !important;
    overflow-x: visible !important;
  }
  .wt-filter.elementor-widget-taxonomy-filter .e-filter-item{
    flex-shrink: 1 !important;
  }
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-1b302d7 *//* ============================================================
   1. PAGE HEADER
   ============================================================ */

.wt-pagehead{
  padding:64px 0 56px;
  background:
    radial-gradient(100% 120% at 82% -10%,rgba(46,134,193,.28),transparent 60%),
    var(--deep);
  color:var(--foam);
  position:relative;
}
.wt-pagehead .wt-eyebrow,
.wt-pagehead .wt-eyebrow .elementor-heading-title{
  font-family:var(--f-sans);
  font-size:12px;
  font-weight:500;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--gold);
  margin:0;
}
.wt-pagehead h1,
.wt-pagehead .elementor-heading-title{
  font-family:var(--f-disp);
  font-weight:300;
  letter-spacing:-.02em;
  line-height:1.08;
  color:var(--foam);
  font-size:clamp(38px,6vw,72px);
  margin:16px 0 14px;
}
.wt-pagehead h1 em{
  font-style:italic;
  color:var(--gold);
}
.wt-pagehead p{
  max-width:56ch;
  color:var(--mist-on-dark);
  font-size:18px;
  line-height:1.6;
  margin:0;
}

/* ============================================================
   2. FILTER CHIPS
   Elementor renders: .e-filter > button.e-filter-item
   Active state is [aria-pressed="true"] — NOT .active
   ============================================================ */

.wt-filter.elementor-widget-taxonomy-filter .e-filter{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-start;
  margin:0 0 40px;
}
.wt-filter.elementor-widget-taxonomy-filter .e-filter-item{
  font-family:var(--f-sans);
  font-size:13.5px;
  line-height:1.2;
  padding:10px 20px;
  border:1px solid var(--line);
  border-radius:999px;
  background-color:var(--paper);
  color:var(--ink-soft);
  transition:background-color .22s,color .22s,border-color .22s;
  cursor:pointer;
}
.wt-filter.elementor-widget-taxonomy-filter .e-filter-item:hover:not([aria-pressed="true"]){
  background-color:var(--paper);
  border-color:var(--gold);
  color:var(--deep);
}
.wt-filter.elementor-widget-taxonomy-filter .e-filter-item[aria-pressed="true"]{
  background-color:var(--deep);
  border-color:var(--deep);
  color:var(--foam);
}

/* ============================================================
   3. THE GRID
   (Columns/gap are set in the widget UI; this is a safety net)
   ============================================================ */

.wt-grid .elementor-grid{
  gap:22px;
}

/* ============================================================
   4. THE CARD
   ============================================================ */

.wt-dcard{
  position:relative;
  min-height:320px;
  height:100%;
  border-radius:var(--r);
  overflow:hidden;
  isolation:isolate;          /* keeps the negative z-index children inside */
  box-shadow:var(--shadow-sm);
  cursor:pointer;
}

/* --- full-bleed image behind everything --- */
.wt-dcard .wt-dcard__img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  z-index:-2;
}
.wt-dcard .wt-dcard__img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:0;
  transition:transform .8s var(--ease);
}
.wt-dcard:hover .wt-dcard__img img{
  transform:scale(1.06);
}

/* --- gradient scrim --- */
.wt-dcard::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 34%,rgba(12,19,48,.86) 100%);
}

/* --- card body --- */
.wt-dcard__body{
  position:relative;
  z-index:1;
  width:100%;
}

/* --- kicker: REGION · TYPE --- */
.wt-kicker{
  display:flex;
  flex-direction:row;
  align-items:center;
  width:auto;
  margin-bottom:8px;
}
.wt-kicker__region,
.wt-kicker__type{
  font-family:var(--f-sans);
  font-size:11px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--gold);
  line-height:1.2;
}
.wt-kicker__region *,
.wt-kicker__type *{
  font:inherit;
  letter-spacing:inherit;
  text-transform:inherit;
  color:inherit;
  margin:0;
  text-decoration:none;
}
.wt-kicker__type::before{
  content:"·";
  margin:0 .55em 0 .4em;
  letter-spacing:0;
  opacity:.85;
}
/* hide the separator if there's no region text */
.wt-kicker__region:empty + .wt-kicker__type::before{content:none}

/* --- title --- */
.wt-dcard__title .elementor-heading-title{
  font-family:var(--f-disp);
  font-weight:300;
  letter-spacing:-.02em;
  line-height:1.08;
  color:var(--foam);
  font-size:clamp(24px,2.6vw,34px);
  margin:0 0 6px;
}

/* --- excerpt --- */
.wt-dcard__desc,
.wt-dcard__desc p{
  font-family:var(--f-sans);
  font-size:14px;
  line-height:1.55;
  color:var(--mist-on-dark);
  max-width:40ch;
  margin:0 0 14px;
}
.wt-dcard__desc:empty{display:none}

/* --- hover reveal --- */
.wt-reveal{
  max-height:0;
  opacity:0;
  overflow:hidden;
  padding:0;
  transition:max-height .5s var(--ease),opacity .4s;
}
.wt-dcard:hover .wt-reveal,
.wt-dcard:focus-within .wt-reveal{
  max-height:80px;
  opacity:1;
}

/* --- the arrow link --- */
.wt-arrow,
.wt-arrow p{
  font-family:var(--f-sans);
  font-size:14px;
  font-weight:500;
  color:var(--gold);
  display:inline-flex;
  align-items:center;
  gap:.5em;
  margin:0;
  transition:gap .25s var(--ease);
}
.wt-dcard:hover .wt-arrow p{gap:.85em}

/* --- touch devices: no hover, so show the reveal permanently --- */
@media (hover:none){
  .wt-reveal{max-height:80px;opacity:1}
}

/* ============================================================
   5. RESPONSIVE
   ============================================================ */
   

@media (max-width:940px){
  .wt-pagehead{padding:48px 0 42px}
  .wt-filter.elementor-widget-taxonomy-filter .e-filter{
    flex-wrap:nowrap;
    overflow-x:auto;
    margin-bottom:28px;
    padding-bottom:4px;
  }
  .wt-filter.elementor-widget-taxonomy-filter .e-filter-item{flex-shrink:0}
}/* End custom CSS */