.elementor-widget-theme-post-title .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-widget-theme-post-excerpt .elementor-widget-container{color:var( --e-global-color-text );}.elementor-widget-theme-post-content{color:var( --e-global-color-text );}.elementor-widget-heading .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-widget-text-editor{color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );}.elementor-widget-posts .elementor-button{background-color:var( --e-global-color-accent );}.elementor-widget-posts .elementor-post__title, .elementor-widget-posts .elementor-post__title a{color:var( --e-global-color-secondary );}.elementor-widget-posts .elementor-post__read-more{color:var( --e-global-color-accent );}.elementor-widget-posts .elementor-post__card .elementor-post__badge{background-color:var( --e-global-color-accent );}.elementor-9004111224895371 .elementor-element.elementor-element-3ee84ee3{--grid-row-gap:35px;--grid-column-gap:30px;}/* Start custom CSS */@font-face{font-family:"Pragmaticway ExtraBold";src:url(/wp-content/uploads/fonts/pragmaticway/Pragmaticway-ExtraBold.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Pragmaticway Bold";src:url(/wp-content/uploads/fonts/pragmaticway/Pragmaticway-Bold.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}
/* Single Article 2027. Scoped to .pi27 sections so it cannot leak into the theme. */
.pi27{--midnight:#082C3C;--deep:#054255;--teal:#42B6B1;--neon:#2CE6D6;--orange:#F37720;--mist:#DDF1EF;
--bg:#F7FAFB;--surface:#FFFFFF;--ink:#082C3C;--ink-soft:#33525F;--ink-mute:#52707C;--rule:#D3E4E6;--rule-soft:#E7F1F1;--link:#054255;--band:#DDF1EF;--band-ink:#082C3C;
--field:#054255;--field-deep:#082C3C;--on-field:#FFFFFF;--on-field-soft:#CCE5E7;--on-field-mute:#9CC4C8;--cell:#0A5267;--cell-line:rgba(255,255,255,.16);--cell-exec:#2E8E8F;--on-signal:#082C3C;
--display:"Pragmaticway ExtraBold","Roboto Condensed","Arial Narrow",Arial,sans-serif;--display-2:"Pragmaticway Bold","Roboto Condensed","Arial Narrow",Arial,sans-serif;--text:"Roboto Condensed","Arial Narrow",Arial,sans-serif;
font-family:var(--text);color:var(--ink);font-size:19px;line-height:1.6;-webkit-font-smoothing:antialiased}
.pi27 *{box-sizing:border-box}
.pi27 h1,.pi27 h2,.pi27 h3{margin:0;padding:0;font-weight:400;text-wrap:balance;color:inherit;text-transform:none}
.pi27 p{margin:0}
.pi27 a{color:var(--link)}
.pi27 :focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.pi27 .lbl{font-family:var(--text);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
/* Elementor resets inside the template */
.pi27 .elementor-widget:not(:last-child){margin-bottom:0;margin-block-end:0}
.pi27 .elementor-column>.elementor-widget-wrap{padding:0}
.pi27>.elementor-container{max-width:72rem;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.pi27 .wrap{max-width:72rem;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.pi27.pi27-flush>.elementor-container{max-width:none;padding:0}
/* Hero. The theme pulls .site-content up under the header by 72px; cancel that on article pages only. */
body:not(.page-template-fullwidth-content) .site-content:has(.pi27-hero){margin-top:0!important}
/* The theme sets overflow:hidden on .site, which stops the contents rail from sticking. clip keeps the same clipping without breaking sticky. */
.site:has(.pi27-shell){overflow:clip}
.pi27.pi27-hero{background:var(--field);color:var(--on-field);padding:44px 0 40px;overflow:hidden}
.pi27.pi27-hero>.elementor-container{align-items:center;gap:56px}
.pi27-hero .pi27-hero-main{flex:1 1 auto;width:auto!important;min-width:0}
.pi27-hero .pi27-hero-fw{flex:0 0 15rem;width:15rem!important}
.pi27 .crumb{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--on-field-mute);margin-bottom:18px}
.pi27 .crumb a{color:var(--on-field-mute);text-decoration:none}
.pi27 .crumb a:hover{color:var(--on-field)}
.pi27 .crumb .cur{color:var(--neon);font-weight:700}
.pi27 .pi27-title .elementor-heading-title{font-family:var(--display);font-size:clamp(34px,4.2vw,50px);line-height:1.1;letter-spacing:.02em;color:var(--on-field)!important;font-weight:400;margin:0 0 16px}
.pi27 .pi27-deck,.pi27 .pi27-deck p{font-family:var(--text);font-size:clamp(18px,1.7vw,20px);font-weight:300;line-height:1.5;color:var(--on-field-soft);max-width:36rem;margin:0}
.pi27 .pi27-deck .elementor-widget-container{color:var(--on-field-soft)!important;font-family:var(--text);font-size:clamp(18px,1.7vw,20px);font-weight:300;line-height:1.5}
.pi27 .pi27-deck:empty,.pi27 .pi27-deck .elementor-widget-container:empty{display:none}
.pi27 .by{display:flex;align-items:center;gap:15px;margin-top:24px;padding-top:18px;border-top:1px solid var(--cell-line);flex-wrap:wrap}
.pi27 .av{width:44px;height:44px;background:var(--teal);color:var(--midnight);display:grid;place-items:center;font-weight:700;font-size:17px;letter-spacing:.04em;flex:0 0 auto;overflow:hidden}
.pi27 .by .n{font-size:17px;font-weight:700;color:var(--on-field)}
.pi27 .by .rl{font-size:14.5px;color:var(--on-field-mute)}
.pi27 .by .rl:empty{display:none}
.pi27 .by .meta{margin-left:auto;font-size:14px;color:var(--on-field-mute)}
.pi27 .fwgrid{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(4,1fr) 14px repeat(4,1fr);gap:4px;aspect-ratio:7/8.2;max-width:100%}
.pi27 .fwgrid span{display:block;perspective:420px;animation:pi27settle .55s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i) * 28ms)}
.pi27 .fwgrid i{display:block;width:100%;height:100%;background:var(--cell);outline:1px solid var(--cell-line);outline-offset:-1px}
.pi27 .fwgrid span.x i,.pi27 .fwgrid span.alt i{background:var(--cell-exec)}
.pi27 .fwgrid span.x.alt i{background:var(--cell)}
@keyframes pi27settle{from{transform:translateY(-14px);opacity:.25}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.pi27 .fwgrid span{animation:none}}
/* Body */
.pi27.pi27-shell{background:var(--surface);padding:64px 0 0}
.pi27.pi27-shell>.elementor-container{max-width:calc(190px + 64px + 40rem + 32px);justify-content:center;gap:64px}
.pi27-shell .pi27-toc-col{flex:0 0 190px;width:190px!important}
.pi27-shell .pi27-body-col{flex:0 1 40rem;width:auto!important;min-width:0}
.pi27-shell .pi27-toc-w{position:sticky;top:calc(env(safe-area-inset-top,0px) + 120px);align-self:flex-start}
.pi27 .toc{padding-top:6px}
.pi27 .toc .lbl{color:var(--ink-mute);padding-bottom:10px;border-bottom:1px solid var(--rule);margin-bottom:14px}
.pi27 .toc a{display:block;font-size:15px;line-height:1.35;color:var(--ink-soft);text-decoration:none;margin:0 0 12px -14px;padding-left:12px;border-left:2px solid transparent}
.pi27 .toc a:hover{color:var(--ink);border-left-color:var(--rule)}
.pi27 .toc a.cur{color:var(--ink);font-weight:700;border-left-color:var(--teal)}
.pi27 .pi27-body{font-family:var(--text);font-size:19px;line-height:1.6;color:var(--ink)}
.pi27 .pi27-body p,.pi27 .pi27-body li{font-family:var(--text);font-size:inherit;line-height:inherit;color:inherit}
.pi27 .pi27-body p{margin:0 0 1.15em}
.pi27 .pi27-body .lede{font-size:23px;font-weight:300;line-height:1.5;margin-bottom:1.1em}
.pi27 .pi27-body h2{font-family:var(--display-2);font-weight:400;font-size:clamp(27px,3vw,33px);line-height:1.15;letter-spacing:.012em;color:var(--ink);margin:2.1em 0 .7em;scroll-margin-top:120px;display:flex;gap:14px;align-items:baseline}
.pi27 .pi27-body h2:before{content:"";flex:0 0 auto;width:12px;height:12px;background:var(--teal);transform:translateY(-2px)}
.pi27 .pi27-body>*:first-child h2:first-child,.pi27 .pi27-body h2:first-child{margin-top:0}
.pi27 .pi27-body h3{font-family:var(--text);font-weight:700;font-size:22px;line-height:1.3;color:var(--ink);margin:1.6em 0 .5em}
.pi27 .pi27-body h4,.pi27 .pi27-body h5,.pi27 .pi27-body h6{font-family:var(--text);font-weight:700;font-size:19px;line-height:1.35;letter-spacing:0;text-transform:none;margin:1.4em 0 .4em;color:var(--ink)}
.pi27 .pi27-body ul,.pi27 .pi27-body ol:not(.steps){margin:0 0 1.3em;padding-left:1.3em}
.pi27 .pi27-body li{margin-bottom:.45em}
.pi27 .pi27-body ul li::marker{color:var(--teal)}
.pi27 .pi27-body a{color:var(--link);text-decoration:underline;text-underline-offset:2px}
.pi27 .pi27-body img{max-width:100%;height:auto;display:block}
.pi27 .pi27-body blockquote{margin:2em 0;padding:4px 0 4px 22px;border-left:3px solid var(--teal);font-size:21px;line-height:1.45;color:var(--ink)}
.pi27 .pi27-body blockquote p:last-child{margin-bottom:0}
.pi27 .pi27-body table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:16px}
.pi27 .pi27-body th,.pi27 .pi27-body td{border-bottom:1px solid var(--rule);padding:10px 8px;text-align:left;vertical-align:top}
.pi27 .pi27-body th{font-weight:700;border-bottom:2px solid var(--ink)}
.pi27 .pi27-body .pq{margin:2.4em 0;padding:30px 0 28px;border-top:3px solid var(--ink);border-bottom:1px solid var(--rule)}
.pi27 .pi27-body .pq p{font-family:var(--display-2);font-size:clamp(27px,3.4vw,34px);line-height:1.2;letter-spacing:.012em;margin-bottom:14px}
.pi27 .pi27-body .pq cite{display:block;font-family:var(--text)!important;letter-spacing:0;font-size:14.5px;color:var(--ink-mute);font-style:normal}
.pi27 .pi27-body figure{margin:2.5em 0;max-width:100%;width:auto!important}
.pi27 .pi27-body .fig-scroll{overflow-x:auto}
.pi27 .pi27-body figcaption,.pi27 .pi27-body .wp-caption-text{font-size:14.5px;color:var(--ink-mute);margin-top:12px;line-height:1.45;border-top:1px solid var(--rule-soft);padding-top:10px;text-align:left}
.pi27 .pi27-body ol.steps{margin:1.5em 0 1.7em;padding:0;list-style:none;counter-reset:s;display:grid;gap:18px}
.pi27 .pi27-body ol.steps li{counter-increment:s;position:relative;padding-left:58px;min-height:38px;margin:0}
.pi27 .pi27-body ol.steps li:before{content:counter(s);position:absolute;left:0;top:2px;width:38px;height:38px;background:var(--deep);color:#fff;display:grid;place-items:center;font-family:var(--display);font-size:19px}
/* PublishPress Authors appends its own box to the content. The template has its own author box, so hide the duplicate. */
.pi27 .pi27-body .multiple-authors-target-the-content{display:none!important}
.pi27 .author{border-top:1px solid var(--rule);margin-top:56px;padding-top:32px;display:flex;gap:20px;align-items:flex-start}
.pi27 .author .av{width:62px;height:62px;font-size:19px}
.pi27 .author .av img,.pi27 .by .av img{width:100%;height:100%;object-fit:cover;display:block}
.pi27 .author .nm{font-size:18px;font-weight:700;margin-bottom:2px}
.pi27 .author .rl:empty{display:none}
.pi27 .author .rl{font-size:15px;color:var(--ink-mute);margin-bottom:10px}
.pi27 .author .bio,.pi27 .author .bio p{font-size:16.5px;color:var(--ink-soft);line-height:1.5;margin:0}
.pi27 .share{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:30px 0 60px}
.pi27 .share .lbl{color:var(--ink-mute);margin-right:4px}
.pi27 .share a,.pi27 .share button{font-family:var(--text);font-size:14.5px;color:var(--ink-soft);text-decoration:none;border:1px solid var(--rule);padding:7px 14px;background:none;cursor:pointer;border-radius:0;line-height:1.4}
.pi27 .share a:hover,.pi27 .share button:hover{border-color:var(--ink);color:var(--ink)}
.pi27 .share button{font-weight:400!important;text-transform:none!important;letter-spacing:0!important;color:var(--ink-soft)!important;background:none!important;box-shadow:none!important}
.pi27 .share button:hover{color:var(--ink)!important}
/* Bands (each band is an HTML or widget group inside a full-width section) */
.pi27 .assess{background:var(--band);color:var(--band-ink);padding-block:44px}
.pi27 .assess .wrap{display:flex;align-items:center;gap:28px 48px;flex-wrap:wrap}
.pi27 .assess .tx{flex:1 1 340px;min-width:0}
.pi27 .assess h3{font-family:var(--display-2);font-size:clamp(25px,2.8vw,30px);line-height:1.15;letter-spacing:.012em;margin-bottom:10px}
.pi27 .assess p{font-size:17px;color:var(--ink-soft)}
.pi27 .cta{display:inline-block;background:var(--orange);color:var(--on-signal);font-family:var(--text);font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:16px 28px;text-decoration:none;text-align:center;border-radius:0}
.pi27 .cta:hover{filter:brightness(1.06);color:var(--on-signal)}
.pi27 .cta.line{background:none;color:var(--band-ink);border:2px solid currentColor;padding:14px 26px}
.pi27 .cta.line:hover{background:var(--band-ink);color:var(--band);filter:none}
.pi27.pi27-web{background:var(--field-deep);color:var(--on-field);padding:68px 0}
.pi27.pi27-web>.elementor-container{gap:56px;align-items:center}
.pi27-web .pi27-web-main{flex:1.35 1 0;width:auto!important;min-width:0}
.pi27-web .pi27-web-reg{flex:1 1 0;width:auto!important;min-width:0}
.pi27-web .pi27-web-lbl .elementor-widget-container,.pi27-web .pi27-web-lbl p{font-family:var(--text);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--neon);margin:0 0 18px}
.pi27-web .pi27-web-title .elementor-heading-title{font-family:var(--display);font-weight:400;font-size:clamp(32px,4vw,44px);line-height:1.1;letter-spacing:.02em;color:var(--on-field)!important;margin:0 0 18px}
.pi27-web .pi27-web-text,.pi27-web .pi27-web-text p{font-family:var(--text);color:var(--on-field-soft);font-size:18.5px;line-height:1.6;margin:0}
.pi27 .reg{border:1px solid var(--cell-line);padding:26px}
.pi27 .reg .lbl{color:var(--on-field-mute);margin-bottom:12px}
.pi27 .reg ul{list-style:none;margin:0 0 22px;padding:0;font-size:16px;color:var(--on-field-soft)}
.pi27 .reg li{padding:10px 0;border-bottom:1px solid var(--cell-line);display:flex;justify-content:space-between;gap:14px}
.pi27 .reg li:last-child{border-bottom:0}
.pi27 .reg li b{color:var(--on-field);font-weight:700}
.pi27 .reg .cta{display:block}
/* Live discussion band. Fields come from the "Article 2027: live discussion band" meta box. The band hides itself when the headline field is empty. */
.pi27.pi27-web:not(:has(.pi27-web-title)){display:none}
.pi27-web .pi27-web-lbl .elementor-heading-title{font-family:var(--text);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--neon)!important;margin:0 0 18px;line-height:1.4}
.pi27-web .pi27-web-text .elementor-widget-container,.pi27-web .pi27-web-text{color:var(--on-field-soft)!important}
.pi27-web .pi27-web-reg{align-self:center}
.pi27-web .pi27-web-reg:not(:has(.pi27-reg-row)):not(:has(a.elementor-button[href])){display:none}
.pi27 .reg .pi27-reg-row .elementor-heading-title{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--cell-line);font-family:var(--text);font-size:16px;font-weight:400;line-height:1.5;letter-spacing:0;text-transform:none;color:var(--on-field-soft)!important;margin:0}
.pi27 .reg .pi27-reg-row b{color:var(--on-field);font-weight:700;text-align:right}
.pi27 .reg .pi27-web-btn{margin-top:22px}
.pi27 .reg .pi27-web-btn .elementor-button{display:block;width:100%;background:var(--orange)!important;color:var(--on-signal)!important;font-family:var(--text)!important;font-size:14px!important;font-weight:700!important;letter-spacing:.12em!important;text-transform:uppercase!important;padding:16px 28px!important;border-radius:0!important;border:0!important;text-align:center;box-shadow:none!important}
.pi27 .reg .pi27-web-btn .elementor-button:hover{filter:brightness(1.06)}
.pi27 .reg .pi27-web-btn .elementor-button:not([href]){display:none}
.pi27 .proof{background:var(--surface);padding-block:56px;border-bottom:1px solid var(--rule)}
.pi27 .proof .lbl{color:var(--ink-mute);margin-bottom:22px}
.pi27 .nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pi27 .nums div{border-top:2px solid var(--ink);padding-top:14px}
.pi27 .nums b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(34px,4.4vw,52px);line-height:1;letter-spacing:.02em;margin-bottom:6px;font-variant-numeric:tabular-nums}
.pi27 .nums span{font-size:16px;color:var(--ink-soft)}
.pi27.pi27-kr{background:var(--surface);padding:52px 0 76px}
/* Sections without enough headings for a contents rail */
.pi27.pi27-shell.pi27-notoc>.elementor-container{max-width:calc(40rem + 32px)}
.pi27-shell.pi27-notoc .pi27-toc-col{display:none}
.pi27-shell.pi27-notoc .pi27-body-col{flex:1 1 auto}
/* Keep reading (Elementor Posts widget, related query) */
.pi27-kr .lbl{color:var(--ink-mute);margin-bottom:24px}
.pi27-kr .elementor-posts-container{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.pi27-kr .elementor-posts-container .elementor-post{border-top:1px solid var(--rule);padding-top:18px;margin:0;width:auto;background:none;box-shadow:none}
.pi27-kr .elementor-post:before{content:"Article";display:block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--link);margin-bottom:8px}
.pi27-kr .elementor-post__thumbnail__link{display:none}
.pi27-kr .elementor-post__text{padding:0}
.pi27-kr .elementor-post__title{font-family:var(--text);font-size:20px;font-weight:700;line-height:1.25;margin:0 0 8px}
.pi27-kr .elementor-post__title a{color:var(--ink);text-decoration:none}
.pi27-kr .elementor-post__title a:hover{color:var(--link);text-decoration:underline}
.pi27-kr .elementor-post__excerpt p{font-family:var(--text);font-size:16px;color:var(--ink-soft);line-height:1.45;margin:0}
.pi27-kr .elementor-post__meta-data,.pi27-kr .elementor-post__read-more{display:none}
@media (max-width:1000px){
 .pi27.pi27-hero>.elementor-container{flex-direction:column;align-items:stretch;gap:0}
 .pi27-hero .pi27-hero-fw{display:none}
 .pi27-hero .pi27-hero-main{width:100%!important}
 .pi27.pi27-shell>.elementor-container{display:block;max-width:calc(40rem + 32px)}
 .pi27-shell .pi27-toc-col{display:none}
 .pi27-shell .pi27-body-col{width:100%!important}
 .pi27.pi27-web>.elementor-container{flex-direction:column;align-items:stretch;gap:32px}
 .pi27-web .pi27-web-main,.pi27-web .pi27-web-reg{width:100%!important}
}
@media (max-width:760px){
 .pi27,.pi27 .pi27-body{font-size:18px}
 .pi27 .nums{grid-template-columns:minmax(0,1fr);gap:18px}
 .pi27 .by .meta{margin-left:0;width:100%}
 .pi27.pi27-hero{padding:36px 0 32px}
 .pi27-kr .elementor-posts-container{grid-template-columns:minmax(0,1fr)}
}/* End custom CSS */