/*
 * Elikia: the few things the Elementor Style tab cannot express.
 * Colours, type, spacing, borders and radii are all set on the widgets and in the kit.
 * Here: aspect ratios, line clamps, stagger, counters, pseudo-elements, prose, motion.
 */

/* ---- accessibility ---- */
.elk-skip{position:absolute;left:-9999px;top:8px;z-index:100000;background:#17130F;color:#F4EEE3;padding:12px 16px;font:700 12px/16px Manrope,sans-serif;letter-spacing:1.44px;text-transform:uppercase;text-decoration:none}
.elk-skip:focus{left:8px}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--e-global-color-elk_ink,#17130F);outline-offset:3px}
.elk-footer :focus-visible,.elementor-element[class*="canopy"] :focus-visible{outline-color:#F4EEE3}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
html{-webkit-text-size-adjust:100%}
body{overflow-x:clip}
img{max-width:100%}

/* ---- the Dawn underline on one italic word ---- */
em.elk-u{position:relative;display:inline-block;font-style:italic}
em.elk-u::after{content:"";position:absolute;left:0;right:0;top:100%;height:max(3px,.034em);background:var(--e-global-color-accent,#E8A33D)}
em.elk-u{margin-bottom:max(3px,.034em)}

/* ---- dots ---- */
.elk-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--e-global-color-accent,#E8A33D);vertical-align:middle}
.elk-dot-amber{background:var(--e-global-color-primary,#835400)}
.elk-dot-w .elementor-widget-container{display:flex;align-items:center}

/* ---- aspect ratios (set on the media container) ---- */
.elk-media{overflow:hidden;position:relative}
:where(.elk-media){width:100%}
.elk-media.elk-ar-45{aspect-ratio:4/5}
.elk-media.elk-ar-1610{aspect-ratio:16/10}
.elk-media.elk-ar-34{aspect-ratio:3/4}
.elk-media.elk-ar-11{aspect-ratio:1/1}
.elk-media.elk-ar-169{aspect-ratio:16/9}
.elk-media > .elementor-widget-image,.elk-media > .elementor-widget-image > .elementor-widget-container{height:100%;width:100%}
.elk-media img{width:100%!important;height:100%!important;object-fit:cover;display:block;max-width:none}
.elk-avatar img,.elk-bio-photo img,.elk-bio-avatar img{width:100%;height:100%;object-fit:cover;display:block}

/* ---- line clamps (equal card heights) ---- */
.elk-clamp-2 .elementor-heading-title,.elk-clamp-2 .elementor-widget-container{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.elk-clamp-3 .elementor-heading-title,.elk-clamp-3 .elementor-widget-container{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.elk-card-title .elementor-heading-title{display:-webkit-box;-webkit-line-clamp:var(--elk-clamp-title,3);-webkit-box-orient:vertical;overflow:hidden}

/* ---- cards ---- */
a.elk-card,a.elk-card:hover{text-decoration:none;color:inherit}
.elk-card{transition:background-color .2s ease}
.elk-card .elementor-heading-title{transition:color .2s ease}
.elk-card:hover .elk-card-title .elementor-heading-title,.elk-card:hover .elk-tile-title .elementor-heading-title,.elk-card:hover .elk-row-title .elementor-heading-title{color:var(--e-global-color-primary,#835400)}
.elk-card .elk-media img{transition:transform .5s ease}
.elk-card:hover .elk-media img{transform:scale(1.03)}
.elk-card-a,.elk-card-arch,.elk-card-tile,.elk-card-d,.elk-card-f{height:100%}
.elk-card-body{flex:1 1 auto}

/* partner badge: shown only on partner stories (post class added by the plugin) */
.elk-partner-badge{display:none}
.elk-is-partner .elk-partner-badge{display:block}
.elementor-editor-active .elk-partner-badge{display:block;opacity:.55}

/* ---- loop grids: let grid items stretch ---- */
/* tracks may shrink below their content (stops long words or fixed-width children pushing the page wider than the screen) */
.elementor-loop-container.elementor-grid{grid-template-columns:repeat(var(--grid-columns,1),minmax(0,1fr))!important;width:100%;max-width:100%;min-width:0}
.elementor-widget-loop-grid{width:100%;max-width:100%;min-width:0;overflow-x:clip}
.elk-chorus,.elk-chorus .e-con-inner,.elk-chorus-wrap{max-width:100%;min-width:0}
.elk-chorus{overflow-x:clip}
.elk-card :is(.elementor-heading-title,p,span){overflow-wrap:anywhere}
.elementor-loop-container .e-loop-item,.elk-card{min-width:0;max-width:100%}
/* column counts also set here so the layout holds even when the widget's own responsive columns are not applied */
.elk-cols-d1 .elementor-loop-container{--grid-columns:1}.elk-cols-d2 .elementor-loop-container{--grid-columns:2}.elk-cols-d3 .elementor-loop-container{--grid-columns:3}.elk-cols-d4 .elementor-loop-container{--grid-columns:4}
@media (max-width:1024px){.elk-cols-t1 .elementor-loop-container{--grid-columns:1}.elk-cols-t2 .elementor-loop-container{--grid-columns:2}.elk-cols-t3 .elementor-loop-container{--grid-columns:3}.elk-cols-t4 .elementor-loop-container{--grid-columns:4}
  .elk-card-b,.elk-card-edhero{flex-direction:column}}
@media (max-width:767px){.elk-cols-m1 .elementor-loop-container{--grid-columns:1}.elk-cols-m2 .elementor-loop-container{--grid-columns:2}.elk-cols-m3 .elementor-loop-container{--grid-columns:3}.elk-cols-m4 .elementor-loop-container{--grid-columns:4}}
.elementor-loop-container.elementor-grid{align-items:start}
.elk-arch-grid .elementor-loop-container,.elk-chorus-grid .elementor-loop-container{align-items:stretch}

/* ---- stagger: alternating columns are pushed down (chorus rhythm) ---- */
@media (min-width:1025px){
  .elk-stagger-on .elk-stagger-home :is(.e-loop-item,.elk-proxy-loop > *):nth-child(3n+2){translate:0 var(--elk-stagger-home-2,96px)}
  .elk-stagger-on .elk-stagger-home :is(.e-loop-item,.elk-proxy-loop > *):nth-child(3n+3){translate:0 var(--elk-stagger-home-3,48px)}
  .elk-stagger-on .elk-stagger-home{padding-bottom:var(--elk-stagger-home-2,96px)}
  .elk-stagger-on .elk-stagger-arch :is(.e-loop-item,.elk-proxy-loop > *):nth-child(3n+2){translate:0 var(--elk-stagger-arch-2,48px)}
  .elk-stagger-on .elk-stagger-arch{padding-bottom:var(--elk-stagger-arch-2,48px)}
  .elk-stagger-on .elk-stagger-why > :nth-child(even){margin-top:48px}
}
@media (min-width:768px){
  .elk-stagger-on .elk-hero-grid :is(.e-loop-item,.elk-proxy-loop > *):nth-child(even){translate:0 calc(var(--elk-stagger-hero-b,80px) * -1)}
}
@media (min-width:768px) and (max-width:1024px){
  .elk-stagger-on .elk-stagger-home :is(.e-loop-item,.elk-proxy-loop > *):nth-child(even){translate:0 32px}
  .elk-stagger-on .elk-stagger-home{padding-bottom:32px}
  .elk-stagger-on .elk-stagger-arch :is(.e-loop-item,.elk-proxy-loop > *):nth-child(even){translate:0 24px}
  .elk-stagger-on .elk-stagger-arch{padding-bottom:24px}
  .elk-stagger-on .elk-hero-grid :is(.e-loop-item,.elk-proxy-loop > *):nth-child(even){translate:0 -40px}
}

/* ---- numbered rows: CSS counters ---- */
.elk-counter{counter-reset:elk}
.elk-counter :is(.e-loop-item,.elk-proxy-loop > *){counter-increment:elk}
.elk-numbered .elk-num .elementor-heading-title::before{content:counter(elk,decimal-leading-zero)}
.elk-row-ruled:not(:first-child){border-top-width:0}
.elk-counter :is(.e-loop-item,.elk-proxy-loop > *):last-child .elk-row-ruled{border-bottom-width:0}

/* ---- slash-separated link lists ---- */
.elk-slashlist .elementor-icon-list-items.elementor-inline-items{display:flex;flex-wrap:wrap;align-items:center;margin:0}
.elk-slashlist .elementor-icon-list-item+.elementor-icon-list-item::before{content:"/";margin:0 var(--elk-slash,40px);color:#D6C4B0;font:300 16px/24px Newsreader,serif}
.elk-slashlist .elementor-inline-items .elementor-icon-list-item{margin:0!important}
.elk-share{--elk-slash:12px}
.elk-slashlist .elementor-icon-list-text{white-space:nowrap}
@media (max-width:1024px){.elk-slashlist{--elk-slash:24px}.elk-share{--elk-slash:12px}}
@media (max-width:767px){.elk-slashlist{--elk-slash:12px}}
.elk-strip .elk-slashlist{overflow-x:auto;scrollbar-width:none}
.elk-strip .elk-slashlist::-webkit-scrollbar{display:none}

/* ---- chips (nav menus used as filters) ---- */
.elk-chips .elementor-nav-menu{display:flex;flex-wrap:wrap;gap:8px}
.elk-chips .elementor-nav-menu--main .elementor-item{border-radius:2px;background:var(--e-global-color-elk_surface_high,#F0E6DF);white-space:nowrap}
.elk-chips .elementor-nav-menu--main .elementor-item:hover{background:var(--e-global-color-elk_surface_highest,#EBE1DA)}
.elk-chips .elementor-nav-menu--main .elementor-item.elementor-item-active,
.elk-chips .elementor-nav-menu--main .current-menu-item > .elementor-item{background:var(--e-global-color-accent,#E8A33D);color:var(--e-global-color-elk_on_dawn,#2A1800)}
.elk-letters .elementor-nav-menu{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}
.elk-letters .elementor-nav-menu--main .elementor-item{background:transparent;text-align:center;padding-left:0;padding-right:0;justify-content:center}
.elk-role-chips .elementor-nav-menu{gap:8px}
@media (max-width:767px){
  /* One swipeable row. The scroller is the widget itself, and every flex parent above it may shrink (min-width:0),
     otherwise the row just grows past the screen and the extra chips are clipped instead of scrolling. */
  .elk-chipbar,.elk-chipbar-wrap,.elk-chipbar>.elementor-widget{min-width:0;max-width:100%}
  .elk-chipbar>.elk-chips{flex:1 1 0}
  .elk-chips:not(.elk-letters){min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x pan-y}
  .elk-chips:not(.elk-letters)::-webkit-scrollbar{display:none}
  .elk-chips:not(.elk-letters) :is(.elementor-widget-container,nav,.elementor-nav-menu--main){min-width:0;width:max-content;max-width:none}
  .elk-chips:not(.elk-letters) .elementor-nav-menu{flex-wrap:nowrap;width:max-content;max-width:none;padding-bottom:2px}
  .elk-chips:not(.elk-letters) .elementor-nav-menu>li{flex:0 0 auto}
  .elk-chips:not(.elk-letters) .elementor-item{white-space:nowrap}
}


/* ---- header ---- */
.elk-header{transition:box-shadow .2s ease}
.elk-header .elk-header-row{transition:min-height .25s ease}
.elk-compress-on .elk-header.elementor-sticky--effects .elk-header-row{min-height:68px}
.elk-wordmark .elementor-heading-title a{text-decoration:none}
.elk-header-right .elementor-nav-menu--dropdown{border-top:1px solid var(--e-global-color-elk_hairline,rgba(23,19,15,.16))}

/* ---- footer ---- */
.elk-foot-links .elementor-icon-list-item a{transition:color .15s ease}
.elk-foot-links .elementor-icon-list-item a:hover{color:#fff}
.elk-foot-legal-links .elementor-icon-list-item a:hover{color:#F4EEE3}

/* ---- prose (story / edition / contributor body) ---- */
.elk-prose{max-width:none}
.elk-prose p{margin:0 0 24px}
.elk-prose > .elementor-widget-container > :last-child{margin-bottom:0}
.elk-prose h2,.elk-prose h3{font-family:var(--e-global-typography-elk_headline_md-font-family,Newsreader,serif);font-size:var(--e-global-typography-elk_headline_md-font-size,32px);line-height:var(--e-global-typography-elk_headline_md-line-height,1.19);letter-spacing:var(--e-global-typography-elk_headline_md-letter-spacing,-.48px);font-weight:400;color:var(--e-global-color-text,#1F1B17);margin:56px 0 24px;position:relative;padding-top:20px}
.elk-prose h2::before{content:"";position:absolute;left:0;top:0;width:40px;height:2px;background:var(--e-global-color-accent,#E8A33D)}
.elk-prose a{color:var(--e-global-color-elk_ink,#17130F);text-decoration:underline;text-decoration-color:var(--e-global-color-accent,#E8A33D);text-decoration-thickness:2px;text-underline-offset:3px}
.elk-prose a:hover{color:var(--e-global-color-primary,#835400)}
.elk-prose blockquote{margin:40px 0;padding:0 0 0 24px;border-left:4px solid var(--e-global-color-accent,#E8A33D);font-style:italic;font-size:26px;line-height:34px;color:var(--e-global-color-elk_ink,#17130F)}
.elk-prose figure{margin:40px 0;background:var(--e-global-color-elk_surface_high,#F0E6DF);padding:16px}
.elk-prose figure img{width:100%;height:auto;display:block}
.elk-prose figcaption{font:500 11px/14px Manrope,sans-serif;letter-spacing:.88px;text-transform:uppercase;color:var(--e-global-color-elk_outline,#847564);padding-top:12px}
.elk-prose img{max-width:100%;height:auto}
.elk-prose ul,.elk-prose ol{margin:0 0 24px;padding-left:1.25em}
.elk-prose li{margin-bottom:8px}
.elk-dropcap > .elementor-widget-container > p:first-child::first-letter,
.elk-prose.elk-dropcap > .elementor-widget-container > p:first-of-type::first-letter,
.elk-story-main .elk-prose > .elementor-widget-container > p:first-of-type::first-letter{float:left;font-family:Newsreader,serif;font-size:72px;line-height:.82;padding:6px 12px 0 0;color:var(--e-global-color-primary,#835400)}
@media (max-width:767px){
  .elk-prose blockquote{font-size:22px;line-height:30px}
  .elk-story-main .elk-prose > .elementor-widget-container > p:first-of-type::first-letter{font-size:56px}
}
.elk-people-list{list-style:none;margin:0;padding:0}
.elk-people-list li{display:flex;flex-direction:column;margin-top:16px}
.elk-people-list li:first-child{margin-top:0}
.elk-people-name{font:600 14px/20px Manrope,sans-serif;letter-spacing:.56px;color:var(--e-global-color-elk_ink,#17130F)}
.elk-people-role{font-style:italic;font-size:16px;line-height:26px;color:var(--e-global-color-elk_outline,#847564);margin-top:2px}
.elk-story-side{position:sticky;top:112px;align-self:start}
@media (max-width:1024px){.elk-story-side{position:static}}

/* ---- reading progress ---- */
.elk-progress{position:fixed;top:0;left:0;right:0;z-index:70}
/* Reading progress: slim Dawn line on a faint track. Low specificity on purpose, so the widget's own Style tab still overrides it. */
.elk-progress .elementor-scrolling-tracker-horizontal{--progress-height:3px;height:3px;background-color:var(--e-global-color-elk_hairline,rgba(23,19,15,.12))}
.elk-progress .elementor-scrolling-tracker-horizontal .current-progress{height:3px;background-color:var(--e-global-color-accent,#E8A33D);border-radius:0 2px 2px 0}
.elk-progress .current-progress-percentage{display:none}

/* ---- empty blocks hide themselves (JS adds .elk-empty) ---- */
.elk-empty{display:none!important}

/* ---- placeholders: hidden on the live site, outlined in the editor ---- */
.elk-hide-ph:not(.elementor-editor-active) .elk-placeholder{display:none!important}
.elementor-editor-active .elk-placeholder{outline:2px dashed var(--e-global-color-accent,#E8A33D);outline-offset:-2px}

/* ---- forms: honour the width settings; make selects look like inputs ---- */
.elementor-form .elementor-field-group .elementor-select-wrapper select{width:100%}
.elementor-form .elementor-button{cursor:pointer}
.elementor-form .elementor-message{font:500 12px/16px Manrope,sans-serif}
.elk-news-form .elementor-field-group{margin-bottom:0}
.elk-news-form .elementor-field-textual{border-radius:2px 0 0 2px}
.elk-news-form .elementor-button{border-radius:0 2px 2px 0;height:100%}
@media (max-width:767px){.elk-news-form .elementor-field-textual{border-radius:2px}.elk-news-form .elementor-button{border-radius:2px}}

/* ---- search ---- */
.elk-search input[type=search]{font-family:Newsreader,serif}
.elk-search .elementor-search-form__container{border-bottom:2px solid var(--e-global-color-elk_ink,#17130F);min-height:72px}

/* ---- avenue rows: columns collapse cleanly ---- */
.elk-av-row .elk-av-arrow{justify-self:end}

/* ---- scroll reveal (off by default; never parks content at opacity 0 without JS) ---- */
@media (prefers-reduced-motion:no-preference){
  html.elk-js .elk-reveal-on .elk-card{opacity:0;transform:translateY(16px);transition:opacity .4s ease,transform .4s ease}
  html.elk-js .elk-reveal-on .elk-card.elk-in{opacity:1;transform:none}
}

/* ---- overflow guards ---- */
.elementor-widget-heading .elementor-heading-title,.elementor-widget-text-editor{overflow-wrap:break-word}
.elementor-widget-html{max-width:100%}

/* ---- advanced search (shortcodes [elk_search_filters] / [elk_search_summary]) ---- */
.elk-sf{width:100%;font-family:Manrope,sans-serif;color:var(--e-global-color-text,#1F1B17)}
.elk-sf-main{display:flex;gap:0;border-bottom:2px solid var(--e-global-color-elk_ink,#17130F);align-items:stretch}
.elk-sf-q{flex:1 1 auto;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;outline-offset:2px;font-family:Newsreader,serif;font-size:clamp(24px,4vw,40px);line-height:1.2;padding:16px 0!important;border-radius:0!important;color:var(--e-global-color-elk_ink,#17130F)}
.elk-sf-q::placeholder{color:var(--e-global-color-elk_outline,#847564);opacity:1}
.elk-sf-go{flex:0 0 auto;border:0;border-radius:2px;background:var(--e-global-color-accent,#E8A33D);color:var(--e-global-color-elk_on_dawn,#2A1800);font:700 12px/1 Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:0 28px;min-height:48px;cursor:pointer;align-self:center;transition:background .2s}
.elk-sf-go:hover,.elk-sf-go:focus-visible{background:var(--e-global-color-elk_dawn_hover,#D9922C)}
.elk-sf-adv{margin-top:20px}
.elk-sf-adv>summary{cursor:pointer;font:700 12px/1 Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--e-global-color-primary,#835400);padding:8px 0;list-style:none}
.elk-sf-adv>summary::-webkit-details-marker{display:none}
.elk-sf-adv>summary:after{content:" +"}
.elk-sf-adv[open]>summary:after{content:" \2212"}
.elk-sf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 24px;margin-top:16px}
.elk-sf-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.elk-sf-label{font:700 11px/1 Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--e-global-color-elk_variant,#514536)}
.elk-sf-field select,.elk-sf-field input{width:100%;min-height:44px;border:1px solid var(--e-global-color-elk_outline_var,#D6C4B0);border-radius:2px;background:var(--e-global-color-elk_surface_low,#FCF2EA);color:var(--e-global-color-elk_ink,#17130F);font:500 14px/1.3 Manrope,sans-serif;padding:0 12px}
.elk-sf-field select:focus,.elk-sf-field input:focus,.elk-sf-q:focus{outline:2px solid var(--e-global-color-accent,#E8A33D);outline-offset:2px}
.elk-sf-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:20px}
.elk-sf-reset{font:700 12px/1 Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--e-global-color-elk_variant,#514536);border-bottom:1px solid var(--e-global-color-accent,#E8A33D);text-decoration:none;padding-bottom:3px}
.elk-sf-summary{width:100%}
.elk-sf-count{margin:0;font:500 16px/1.4 Manrope,sans-serif;color:var(--e-global-color-elk_variant,#514536)}
.elk-sf-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.elk-sf-pill{display:inline-flex;gap:8px;align-items:center;background:var(--e-global-color-elk_chip,#ECE1CD);color:var(--e-global-color-elk_ink,#17130F);border-radius:2px;padding:8px 12px;font:600 12px/1 Manrope,sans-serif;text-decoration:none}
.elk-sf-pill:hover{background:var(--e-global-color-elk_sand,#EADFCB)}
@media (max-width:1024px){.elk-sf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.elk-sf-grid{grid-template-columns:1fr}.elk-sf-main{flex-wrap:wrap;border-bottom:0}.elk-sf-q{flex:1 1 100%;border-bottom:2px solid var(--e-global-color-elk_ink,#17130F)!important}.elk-sf-main .elk-sf-go{width:100%;margin-top:12px}.elk-sf-apply{width:100%}}

/* ---- ajax filtering ---- */
.elk-loading{opacity:.45;pointer-events:none;transition:opacity .15s ease}
[aria-busy=true]{cursor:progress}
