/* Generated by gen/adapter.py - bridges the demo stylesheet and Elementor markup. Do not edit by hand. */
/* 1. containers are plain blocks; the demo decides which components are grid/flex */
.e-con,.e-con>.e-con-inner{display:block}
.e-con{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--margin-top:0px;--margin-bottom:0px;--row-gap:0px;--column-gap:0px}
img{display:block}
.arrow{display:inline-flex}
.dotlist{display:flex}
.btn{display:inline-flex}
.btn-row{display:flex}
.sec-head{display:grid}
.site-head{display:flex}
.site-head .wrap{display:grid}
.nav{display:flex}
.head-cta{display:flex}
.menu-btn{display:none}
.lang{display:inline-flex}
.mobile-nav{display:none}
body.nav-open .mobile-nav{display:flex}
.hero-full{display:flex}
.hero-split{display:grid}
.hero-split__text{display:flex}
.chip{display:inline-flex}
.ph{display:flex}
.panel{display:flex}
.panel-list li{display:flex}
.mcard__link{display:block}
.archive-toggle{display:flex}
.archive[hidden]{display:none}
.exp-compact p{display:grid}
.press .wrap{display:flex}
.mastheads{display:flex}
.mastheads--logos .logo{display:block}
.logos{display:flex}
.exp-row{display:grid}
.cards-3{display:grid}
.cards-2{display:grid}
.pcard{display:flex}
.pcard .tag{display:flex}
.stats{display:grid}
.stats b{display:block}
.stats span{display:block}
.split{display:grid}
.pull cite{display:block}
.route{display:grid}
.route-city small{display:block}
.route-line{display:block}
.record-stats{display:flex}
.record-stats div span{display:block}
.ledger li{display:grid}
.pb{display:grid}
.pb span{display:block}
.pb b{display:block}
.pb small{display:block}
.principles{display:grid}
.themes{display:grid}
.themes li{display:flex}
.rows li{display:grid}
.pills{display:flex}
.help{display:grid}
.services{display:grid}
.testis{display:grid}
.testi{display:flex}
.testi cite{display:block}
.testi cite b{display:block}
.testi--pending .pending{display:inline-flex}
.testi-big{display:grid}
.testi-big cite{display:block}
.testi-big cite b{display:block}
.quote::before{display:block}
.quote cite{display:block}
.filters{display:flex}
.media-grid{display:grid}
.mcard{display:flex}
.mcard[hidden]{display:none}
.mcard > a.thumb{display:block}
.mcard .meta{display:flex}
.coverage li{display:grid}
.coverage a{display:contents}
.enquiries{display:grid}
.enquiries li{display:flex}
.form{display:grid}
.field label{display:block}
.choices{display:flex}
.form-foot{display:flex}
.form-done{display:none}
.form.is-done{display:none}
.form.is-done + .form-done{display:block}
.socials{display:flex}
.cta-band .wrap{display:grid}
.cta-band__act{display:flex}
.article-head .meta{display:flex}
.facts{display:grid}
.lang-note[hidden]{display:none}
.article-body .gallery{display:grid}
.article-grid{display:grid}
.back{display:inline-flex}
.foot-grid{display:grid}
.foot .brand{display:block}
.foot-bottom{display:flex}
.foot-bottom span{display:inline-flex}
@media (max-width:1080px){
.nav{display:none}
.menu-btn{display:inline-flex}
}
@media (max-width:760px){
.head-cta .btn,.head-cta .lang{display:none}
.hero-full{display:block}
.hero-full::before{display:none}
.route-line .lbl{display:none}
}
@media (max-width:480px){
.stats li{display:grid}
}

/* 2. demo rules for container classes, mirrored one level more specific than Elementor's container CSS */
.btn-row.e-con{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;flex-direction:row}
.wrap.e-con{width:min(100% - 2*var(--gutter),var(--max));margin-inline:auto}
.wrap--narrow.e-con{width:min(100% - 2*var(--gutter),900px);margin-inline:auto}
.section.e-con{padding-block:clamp(84px,10vw,140px)}
.section--tight.e-con{padding-block:clamp(56px,7vw,96px)}
.section--dark.e-con{background:var(--night);color:rgba(250,250,248,.82)}
.section--tint.e-con{background:var(--chalk-2)}
.section--hair.e-con{border-top:1px solid var(--hair)}
.sec-head.e-con{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px clamp(32px,6vw,96px);align-items:end;margin-bottom:clamp(40px,5vw,72px)}
.sec-head--stack.e-con{grid-template-columns:1fr}
.sec-head--center.e-con{grid-template-columns:1fr;text-align:center}
.reveal.e-con{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in.e-con{opacity:1;transform:none}
.reveal[data-delay="1"].e-con{transition-delay:.1s}
.reveal[data-delay="2"].e-con{transition-delay:.2s}
.reveal[data-delay="3"].e-con{transition-delay:.3s}
.site-head.e-con{position:fixed;inset:0 0 auto 0;z-index:50;height:var(--head-h);display:flex;align-items:center;background:rgba(250,250,248,.82);-webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px);transition:height .35s var(--ease),background .35s var(--ease),box-shadow .35s var(--ease);flex-direction:row;flex-wrap:nowrap}
.site-head .wrap.e-con{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.site-head.is-solid.e-con{height:64px;background:rgba(250,250,248,.92);box-shadow:0 1px 0 var(--hair)}
.head-cta.e-con{justify-self:end;display:flex;align-items:center;gap:12px;flex-direction:row;flex-wrap:nowrap}
.hero-full.e-con{position:relative;min-height:92vh;min-height:92svh;display:flex;align-items:flex-end;background:var(--night);color:var(--chalk);overflow:hidden;flex-direction:row;flex-wrap:nowrap}
.hero-full.e-con::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(15,27,45,.6) 0%,rgba(15,27,45,.32) 38%,rgba(15,27,45,.05) 70%,rgba(15,27,45,0) 100%),linear-gradient(0deg,rgba(15,27,45,.62) 0%,rgba(15,27,45,.16) 34%,rgba(15,27,45,0) 60%)}
.page-speaking .hero-full.e-con::before,.page-consulting .hero-full.e-con::before{background:linear-gradient(90deg,rgba(15,27,45,.9) 0%,rgba(15,27,45,.66) 42%,rgba(15,27,45,.22) 78%,rgba(15,27,45,.12) 100%),linear-gradient(0deg,rgba(15,27,45,.96) 0%,rgba(15,27,45,.45) 40%,rgba(15,27,45,0) 72%)}
.hero-full .wrap.e-con{position:relative;z-index:2;padding-top:calc(var(--head-h) + 60px);padding-bottom:clamp(56px,7vw,96px)}
.hero-split.e-con{min-height:88vh;min-height:88svh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.hero-split__text.e-con{display:flex;flex-direction:column;justify-content:center;padding:calc(var(--head-h) + clamp(40px,6vw,80px)) clamp(32px,5vw,80px) clamp(56px,7vw,96px) var(--gutter);flex-wrap:nowrap}
.hero-text.e-con{padding-top:calc(var(--head-h) + clamp(56px,8vw,120px))}
.mosaic.e-con{margin-top:clamp(40px,6vw,80px);overflow:hidden;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.rise.e-con{animation:rise 1.1s var(--ease) both}
.rise[data-i="1"].e-con{animation-delay:.12s}
.rise[data-i="2"].e-con{animation-delay:.24s}
.rise[data-i="3"].e-con{animation-delay:.40s}
.rise[data-i="4"].e-con{animation-delay:.56s}
.rise[data-i="5"].e-con{animation-delay:.72s}
.ar-45.e-con{aspect-ratio:4/5}
.ar-43.e-con{aspect-ratio:4/3}
.panel.e-con{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:clamp(26px,3vw,40px);background:var(--night);color:var(--chalk);flex-wrap:nowrap}
.section--tint .panel.e-con,.section .panel.e-con{box-shadow:none}
a.pcard.e-con{color:inherit}
.press.e-con{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.press .wrap.e-con{display:flex;align-items:center;gap:clamp(24px,4vw,56px);padding-block:22px;flex-wrap:wrap;flex-direction:row}
.mastheads.e-con{display:flex;flex-wrap:wrap;gap:14px clamp(22px,3vw,44px);align-items:baseline;color:var(--ink);opacity:.72;flex-direction:row}
.mastheads--logos.e-con{opacity:1;gap:16px clamp(20px,2.5vw,36px);align-items:center}
.exp-row.e-con{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px 40px;padding:26px 0;border-top:1px solid var(--hair);align-items:baseline}
.exp-row.e-con:last-child{border-bottom:1px solid var(--hair)}
.cards-3.e-con{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.6vw,40px)}
.pcard.e-con{display:flex;flex-direction:column;flex-wrap:nowrap}
.split.e-con{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,7vw,120px);align-items:center}
.split--rev.e-con{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.split--rev .split__media.e-con{order:2}
.split--eq.e-con{grid-template-columns:1fr 1fr}
.split--top.e-con{align-items:start}
.split__media.e-con{position:relative}
.split__text .btn-row.e-con{margin-top:8px}
.route.e-con{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(18px,3vw,48px);align-items:center}
.record-stats.e-con{display:flex;flex-wrap:wrap;gap:18px clamp(32px,5vw,72px);margin-top:clamp(36px,5vw,56px);padding-top:28px;border-top:1px solid var(--hair-dark);flex-direction:row}
.testi-big.e-con{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(36px,6vw,110px);align-items:start}
.testi-big--solo.e-con{grid-template-columns:minmax(0,1fr);max-width:820px}
.quote .wrap.e-con{max-width:900px}
.socials.e-con{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:clamp(36px,5vw,56px);padding-top:26px;border-top:1px solid var(--hair);font-size:.95rem;flex-direction:row}
.cta-band .wrap.e-con{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px clamp(32px,6vw,96px);align-items:end}
.cta-band__act.e-con{display:flex;flex-direction:column;align-items:flex-start;gap:16px;justify-self:end;flex-wrap:nowrap}
.article-head.e-con{padding-top:calc(var(--head-h) + clamp(48px,7vw,96px))}
.article-grid.e-con{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,3fr);gap:clamp(36px,6vw,110px);align-items:start}
.foot.e-con{border-top:1px solid var(--hair);padding-block:48px 36px}
.foot-grid.e-con{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr));gap:32px}
.foot-bottom.e-con{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;margin-top:44px;padding-top:20px;border-top:1px solid var(--hair);font-size:.8rem;color:var(--slate);flex-direction:row}
@media (max-width:1080px){
.site-head .wrap.e-con{grid-template-columns:1fr auto}
.hero-split.e-con{grid-template-columns:1fr}
.hero-split__text.e-con{padding-top:clamp(48px,7vw,80px)}
.cards-3.e-con{grid-template-columns:repeat(2,minmax(0,1fr))}
.cards-3 .pcard.e-con:last-child{grid-column:span 2}
.article-grid.e-con{grid-template-columns:1fr}
}
@media (max-width:760px){
.hero-full.e-con{display:block;min-height:0;background:var(--chalk);color:var(--ink)}
.hero-full.e-con::before{display:none}
.hero-full .wrap.e-con{padding-top:36px;padding-bottom:56px}
.sec-head.e-con,.split.e-con,.split--rev.e-con,.split--eq.e-con,.cta-band .wrap.e-con,.testi-big.e-con,.exp-row.e-con{grid-template-columns:1fr}
.split--rev .split__media.e-con{order:0}
.split.e-con{gap:32px}
.cards-3.e-con{grid-template-columns:1fr}
.cards-3 .pcard.e-con:last-child{grid-column:auto}
.route.e-con{grid-template-columns:1fr;gap:20px}
.foot-grid.e-con{grid-template-columns:1fr 1fr}
.cta-band__act.e-con{justify-self:start}
}
@media (prefers-reduced-motion:reduce){
.rise.e-con{animation:none}
.reveal.e-con{opacity:1;transform:none;transition:none}
}

/* 3. widget wrappers vanish on the front end (the plugin moves classes onto the real elements) */
body.de-page:not(.elementor-editor-active) .elementor-widget:not(.elementor-widget-nav-menu):not(.elementor-widget-form),body.de-page:not(.elementor-editor-active) .elementor-widget:not(.elementor-widget-nav-menu):not(.elementor-widget-form)>.elementor-widget-container{display:contents}
.de-page .elementor-widget{margin-block-end:0}
.de-page .elementor-element{--kit-widget-spacing:0px}
body.elementor-editor-active .hero-full > .elementor-widget,body.elementor-editor-active .hero-split__photo{position:static}
body.elementor-editor-active .elementor-widget-heading .elementor-heading-title{line-height:inherit;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit}
/* 4. hero photo rules for the wrapped DOM; dark header driven by the page; figure rules above Elementor's reset */
.hero-full > .elementor-widget > img,.hero-full > .elementor-widget > .elementor-widget-container > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 40%);animation:photoIn 1.6s var(--ease) both}
@media (max-width:760px){
.hero-full > .elementor-widget > img,.hero-full > .elementor-widget > .elementor-widget-container > img{position:relative;inset:auto;height:min(62vh,520px);min-height:340px}
.page-home .hero-full > .elementor-widget > img,.page-home .hero-full > .elementor-widget > .elementor-widget-container > img{object-position:58% 18%}
.page-consulting .hero-full > .elementor-widget > img,.page-consulting .hero-full > .elementor-widget > .elementor-widget-container > img{object-position:14% 30%}
}
@media (prefers-reduced-motion:reduce){
.hero-full > .elementor-widget > img,.hero-full > .elementor-widget > .elementor-widget-container > img{animation:none}
}

body.head-dark .site-head{background:rgba(15,27,45,.55)}
body.head-dark .site-head:not(.is-solid) .brand,body.head-dark .site-head:not(.is-solid) .nav a,body.head-dark .site-head:not(.is-solid) .menu-btn{color:var(--chalk)}
body.head-dark .site-head:not(.is-solid) .brand span{color:rgba(250,250,248,.6)}
body.head-dark .site-head:not(.is-solid) .head-cta .btn{background:var(--chalk);color:var(--night)}
body.head-dark .site-head:not(.is-solid) .lang button{color:rgba(250,250,248,.62)}
body.head-dark .site-head:not(.is-solid) .lang button:hover,body.head-dark .site-head:not(.is-solid) .lang button[aria-pressed="true"]{color:var(--chalk)}
body.head-dark .site-head:not(.is-solid) .lang button+button::before{background:var(--hair-dark)}

body.de-page .elementor .elementor-widget figure,body.de-page .elementor .elementor-widget figure{margin:0}
body.de-page .elementor .elementor-widget-image .hero-split__photo{position:relative;overflow:hidden;background:var(--chalk-2)}
body.de-page .elementor .elementor-widget-image .ar-45{aspect-ratio:4/5}
body.de-page .elementor .elementor-widget-image .ar-34{aspect-ratio:3/4}
body.de-page .elementor .elementor-widget-image .ar-43{aspect-ratio:4/3}
body.de-page .elementor .article-body .gallery .elementor-widget figure,body.de-page .elementor .elementor-widget .article-body .gallery figure{margin:0}
body.de-page .elementor .elementor-widget-image .mastheads--logos .logo--rts{height:28px}
body.de-page .elementor .elementor-widget-image .mastheads--logos .logo--sq{height:36px}
body.de-page .elementor .elementor-widget-image .mastheads--logos .logo--tdg{height:32px}
body.de-page .elementor .elementor-widget-image .mastheads--logos .logo--hz{height:18px}
@media (max-width:760px){
body.de-page .elementor .elementor-widget-image .mastheads--logos .logo--sq{height:34px}
body.de-page .elementor .elementor-widget-image .mastheads--logos .logo--tdg{height:28px}
body.de-page .elementor .elementor-widget-image .mastheads--logos .logo--rts{height:26px}
body.de-page .elementor .elementor-widget-image .mastheads--logos .logo--hz{height:16px}
}
body.de-page .elementor .pcard .elementor-widget figure,body.de-page .elementor .elementor-widget .pcard figure{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--chalk-2);margin-bottom:24px}
body.de-page .elementor .pcard .elementor-widget figure img,body.de-page .elementor .elementor-widget .pcard figure img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 40%);transition:transform 1.4s var(--ease)}
body.de-page .elementor .pcard:hover .elementor-widget figure img,body.de-page .elementor .elementor-widget .pcard:hover figure img{transform:scale(1.035)}
body.de-page .elementor .pcard .elementor-widget figure::after,body.de-page .elementor .elementor-widget .pcard figure::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(15,27,45,.36),rgba(15,27,45,0) 38%);pointer-events:none}
body.de-page .elementor .pcard--43 .elementor-widget figure,body.de-page .elementor .elementor-widget .pcard--43 figure{aspect-ratio:4/3}
body.de-page .elementor .split__media .elementor-widget figure,body.de-page .elementor .elementor-widget .split__media figure{position:relative;overflow:hidden;background:var(--chalk-2)}
body.de-page .elementor .mcard .elementor-widget figure,body.de-page .elementor .elementor-widget .mcard figure{aspect-ratio:4/3;overflow:hidden;background:var(--chalk-2);border:1px solid var(--hair);margin-bottom:16px}
body.de-page .elementor .mcard .elementor-widget figure img,body.de-page .elementor .elementor-widget .mcard figure img{width:100%;height:100%;object-fit:cover;object-position:50% 0;transition:transform 1.2s var(--ease)}
body.de-page .elementor .mcard:hover .elementor-widget figure img,body.de-page .elementor .elementor-widget .mcard:hover figure img{transform:scale(1.03)}
body.de-page .elementor .elementor-widget-image .article-hero{margin-top:clamp(36px,5vw,64px);aspect-ratio:16/8;overflow:hidden;background:var(--chalk-2)}
body.de-page .elementor .article-body .elementor-widget figure,body.de-page .elementor .elementor-widget .article-body figure{margin:36px 0}
body.de-page .elementor .article-body .elementor-widget figure img,body.de-page .elementor .elementor-widget .article-body figure img{width:100%;height:auto}
body.de-page .elementor .article-body .elementor-widget figure.portrait,body.de-page .elementor .elementor-widget .article-body figure.portrait{max-width:520px}
@media (max-width:1080px){
body.de-page .elementor .elementor-widget-image .hero-split__photo{min-height:70vh;order:-1}
body.de-page .elementor .cards-3 .pcard:last-child .elementor-widget figure,body.de-page .elementor .elementor-widget .cards-3 .pcard:last-child figure{aspect-ratio:16/9}
}
@media (max-width:760px){
body.de-page .elementor .cards-3 .pcard:last-child .elementor-widget figure,body.de-page .elementor .elementor-widget .cards-3 .pcard:last-child figure{aspect-ratio:3/4}
}
@media (prefers-reduced-motion:reduce){
body.de-page .elementor .pcard .elementor-widget figure img,body.de-page .elementor .elementor-widget .pcard figure img,body.de-page .elementor .mcard .elementor-widget figure img,body.de-page .elementor .elementor-widget .mcard figure img{transition:none}
}

.legal .elementor-widget+.elementor-widget>h2{margin-top:38px}
.de-page .elementor-button-wrapper{display:contents}
.de-page .elementor-widget-image figure.wp-caption{margin:0}
.de-page .elementor-widget-image img{display:block}
.de-page .split__media .caption{margin-top:12px;font-size:.9rem;color:var(--slate)}
.de-page .pcard{position:relative}
.de-page .de-arrow{display:none}
.de-page .e-con>.elementor-shortcode{display:contents}

/* 5a. Elementor Pro Form widget -> the demo's form */
.de-page .elementor-form .elementor-form-fields-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px;margin:0!important;padding:0}
.de-page .elementor-form .elementor-form-fields-wrapper .elementor-field-group{padding:0;margin:0;width:auto;max-width:none;flex:none;display:block}
.de-page .elementor-form .elementor-form-fields-wrapper > .elementor-field-type-text:not(.elementor-field-group){display:none}  /* honeypot wrapper */
.de-page .elementor-form .elementor-field-group.elementor-col-100{grid-column:1/-1}
.de-page .elementor-form .elementor-field-group.elementor-col-50{grid-column:span 1}
.de-page .elementor-form .elementor-field-label{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin-bottom:10px;padding:0;font-weight:400;line-height:inherit}
.de-page .elementor-form .elementor-field-textual{width:100%;padding:15px 16px;border:1px solid var(--hair);border-radius:2px;background:#fff;color:var(--ink);font-size:1rem;line-height:inherit;min-height:0;box-shadow:none;font-family:inherit;transition:border-color .2s var(--ease)}
.de-page .elementor-form .elementor-field-textual:focus{outline:none;border-color:var(--ink);box-shadow:none}
.de-page .elementor-form textarea.elementor-field-textual{min-height:160px;resize:vertical}
.de-page .elementor-form .elementor-field-subgroup{display:flex;flex-wrap:wrap;gap:10px}
.de-page .elementor-form .elementor-field-subgroup .elementor-field-option{position:relative;padding:12px 18px;border:1px solid var(--hair);border-radius:999px;font-size:.92rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);cursor:pointer;margin:0 0 10px;transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}
.de-page .elementor-form .elementor-field-subgroup .elementor-field-option{display:inline-flex;align-items:center;flex:0 0 auto;width:auto;max-width:none}
.de-page .elementor-form .elementor-field-option input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.de-page .elementor-form .elementor-field-option label{padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;display:inline}
.de-page .elementor-form .elementor-field-option:has(input:checked){background:var(--night);border-color:var(--night);color:var(--chalk)}
.de-page .elementor-form .elementor-field-option:has(input:focus-visible){outline:2px solid var(--red);outline-offset:2px}
.de-page .elementor-form .elementor-field-type-html{align-self:center;font-size:.92rem;color:var(--slate)}
.de-page .elementor-form .elementor-field-type-html .small{max-width:44ch;margin:0}
.de-page .elementor-form .elementor-form-fields-wrapper .elementor-field-group.elementor-field-type-submit,.de-page .elementor-form .elementor-form-fields-wrapper .e-form__buttons{display:flex;justify-content:flex-end;align-items:center;margin-top:6px}
.de-page .elementor-form .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:.6em;padding:15px 24px;border-radius:2px;font-weight:500;font-size:.95rem;letter-spacing:.005em;border:1px solid transparent;background:var(--night);color:var(--chalk);font-family:inherit;line-height:1.2;transition:background .25s var(--ease)}
.de-page .elementor-form .elementor-button:hover{background:var(--red);color:var(--chalk)}
.de-page .elementor-form .elementor-button .elementor-button-content-wrapper{display:contents}
.de-page .elementor-form .elementor-message{margin-top:24px;padding:20px 24px;border:1px solid var(--hair);background:var(--chalk-2);font-size:1rem;color:var(--ink)}
.de-page .elementor-form .elementor-message-success{font-family:var(--serif);font-size:1.25rem}
.de-page .elementor-form .elementor-message:before{display:none}
.de-page .elementor-field-group .elementor-select-wrapper select{font:inherit}
@media (max-width:760px){.de-page .elementor-form .elementor-form-fields-wrapper{grid-template-columns:1fr}.de-page .elementor-form .elementor-field-group.elementor-col-50{grid-column:1/-1}.de-page .elementor-form .e-form__buttons{justify-content:flex-start}}

/* 5b. Elementor Pro Nav Menu widget -> the demo's header navigation */
.de-page .site-head .elementor-widget-nav-menu{justify-self:center;width:auto}
.de-page .site-head .elementor-nav-menu--main .elementor-nav-menu{display:flex;gap:clamp(16px,2.2vw,30px);margin:0;padding:0}
.de-page .site-head .elementor-nav-menu--main .elementor-nav-menu li{margin:0;padding:0}
.de-page .site-head .elementor-nav-menu--main .elementor-item{font-size:.88rem;font-weight:500;color:var(--ink);position:relative;padding:6px 0;white-space:nowrap;line-height:1.55;background:none}
.de-page .site-head .elementor-nav-menu--main .elementor-item:before{display:none}
.de-page .site-head .elementor-nav-menu--main .elementor-item:after{content:"";display:block;position:absolute;left:0;right:100%;top:auto;bottom:2px;width:auto;height:1px;background:var(--red);transform:none;opacity:1;transition:right .3s var(--ease)}
.de-page .site-head .elementor-nav-menu--main .elementor-item:hover:after,.de-page .site-head .elementor-nav-menu--main .current-menu-item>.elementor-item:after{right:0}
.de-page .site-head .elementor-nav-menu--main .menu-cta{display:none}
.de-page .site-head--dark:not(.is-solid) .elementor-nav-menu--main .elementor-item,.de-page.head-dark .site-head:not(.is-solid) .elementor-nav-menu--main .elementor-item{color:var(--chalk)}
.de-page .site-head .elementor-menu-toggle{display:none;background:none;border:0;padding:0;margin:0 0 0 auto;color:var(--ink);font-size:.86rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;font-family:inherit;line-height:1;border-radius:0}
.de-page .site-head .elementor-menu-toggle:hover,.de-page .site-head .elementor-menu-toggle:focus{background:none;color:var(--red)}
.de-page .site-head .elementor-menu-toggle i,.de-page .site-head .elementor-menu-toggle svg,.de-page .site-head .elementor-menu-toggle .elementor-screen-only{display:none}
.de-page .site-head .elementor-menu-toggle{position:relative;z-index:41}
.de-page .site-head .brand{position:relative;z-index:41}
.de-page .site-head .elementor-menu-toggle:before{content:"Menu"}
.de-page .site-head .elementor-menu-toggle.elementor-active:before{content:"Close"}
.de-page .site-head--dark:not(.is-solid) .elementor-menu-toggle,.de-page.head-dark .site-head:not(.is-solid) .elementor-menu-toggle{color:var(--chalk)}
.de-page .site-head .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="true"]{display:none!important}
.de-page .site-head .elementor-nav-menu--dropdown.elementor-nav-menu__container{position:fixed;inset:0;top:0!important;left:0!important;width:100%!important;height:100vh!important;height:100dvh!important;max-height:none!important;z-index:40;background:var(--chalk);box-shadow:none;margin:0;padding:var(--gutter);overflow:auto}
.de-page .site-head .elementor-nav-menu--dropdown .elementor-nav-menu{position:absolute;left:var(--gutter);right:var(--gutter);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:4px;margin:0;padding:0}
.de-page .site-head .elementor-nav-menu--dropdown li{border:0;margin:0;text-align:left}
.de-page .site-head .elementor-nav-menu--dropdown a.elementor-item{display:block;width:auto}
.de-page .site-head .elementor-nav-menu--dropdown a.elementor-item{font-family:var(--serif);font-size:clamp(2.2rem,8vw,3.6rem);line-height:1.15;color:var(--ink);padding:0;background:none;text-align:left;border:0}
.de-page .site-head .elementor-nav-menu--dropdown .current-menu-item>a.elementor-item{color:var(--red)}
.de-page .site-head .elementor-nav-menu--dropdown .menu-cta>a.elementor-item{display:inline-flex;align-items:center;justify-content:center;margin-top:28px;align-self:flex-start;font-family:var(--sans);font-size:.95rem;font-weight:500;color:var(--chalk);background:var(--night);padding:15px 24px;border-radius:2px;line-height:1.2}
@media (max-width:1080px){.de-page .site-head .elementor-menu-toggle{display:inline-flex}.de-page .site-head .head-cta{display:none}.de-page .site-head .elementor-widget-nav-menu{justify-self:end}}
body.nav-open{overflow:hidden}

/* 6. Block editor content inside race reports (new posts written in WordPress) */
.article-body ul:not(.plain){margin:0 0 22px;padding-left:2px;list-style:none}
.article-body ul:not(.plain) li{position:relative;padding-left:22px;margin-bottom:6px;font-size:1.02rem;color:var(--body)}
.article-body ul:not(.plain) li::before{content:"";position:absolute;left:0;top:.8em;width:10px;height:1px;background:var(--red)}
.article-body ol{margin:0 0 22px;padding-left:22px;font-size:1.02rem;color:var(--body)}
.article-body h3{font-family:var(--serif);font-weight:400;font-size:1.4rem;line-height:1.2;color:var(--ink);margin:32px 0 12px}
.article-body a:not(.btn){border-bottom:1px solid var(--red)}
.article-body blockquote{margin:32px 0;padding-left:20px;border-left:2px solid var(--red);font-family:var(--serif);font-size:1.3rem;line-height:1.35;color:var(--ink)}
.article-body blockquote p{margin-bottom:10px;font-size:inherit;line-height:inherit}
.article-body .wp-block-image{margin:36px 0}
.article-body .wp-block-image img{width:100%;height:auto}
.article-body .wp-block-gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:36px 0}
.article-body .wp-block-gallery figure{margin:0}
.article-body .wp-block-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.article-body figure.alignleft,.article-body figure.alignright{float:none}
@media (max-width:760px){.article-body .wp-block-gallery{grid-template-columns:1fr}}

