/* Shared presentation; inherits the existing WP Coupon Open Sans family. */
body.kp-site{--kp-blue:#0675ed;--kp-ink:#111;--kp-muted:#546380;--kp-line:#e2eaf4;--kp-pale:#f1f8ff;margin:0;background:#fff;color:var(--kp-ink);font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:16px;line-height:1.65}
.kp-site *{box-sizing:border-box}.kp-site [hidden]{display:none!important}.kp-site img{max-width:100%;height:auto}.kp-site a{text-decoration:none;color:var(--kp-blue)}.kp-site p{margin:0 0 16px;color:var(--kp-muted)}.kp-site h1,.kp-site h2,.kp-site h3{font-family:inherit;color:var(--kp-ink);font-weight:700;line-height:1.25;overflow-wrap:anywhere}.kp-site h1{font-size:clamp(32px,3.2vw,46px);letter-spacing:-1px;margin:0 0 22px}.kp-site h2{font-size:28px;margin:0 0 12px}.kp-site h3{font-size:21px;margin:0 0 14px}.kp-site a,.kp-site p{overflow-wrap:anywhere}.kp-site :focus-visible{outline:3px solid #e8ac2e;outline-offset:4px}.kp-wrap{width:min(100% - 40px,1170px);margin-inline:auto}.kp-skip{position:absolute;left:20px;top:-100px;z-index:999;background:#fff;padding:12px}.kp-skip:focus{top:12px}.kp-header{border-bottom:1px solid var(--kp-line);background:#fff}.kp-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:20px}.kp-brand{display:inline-flex;align-items:center;gap:10px;color:var(--kp-ink)!important}.kp-brand svg{flex:none}.kp-brand strong{display:block;font-size:25px;line-height:1.2}.kp-brand small{display:block;font-size:10px;white-space:nowrap;color:var(--kp-muted);margin-top:5px}.kp-header nav{display:flex;align-items:center;gap:25px}.kp-header nav a:not(.kp-button){color:#111;font-size:14px;padding-block:8px;border-bottom:2px solid transparent}.kp-header nav a[aria-current]{border-bottom-color:var(--kp-blue)}.kp-site .kp-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--kp-blue);border:1px solid var(--kp-blue);border-radius:7px;padding:12px 20px;color:white;font:inherit;font-size:14px;font-weight:700;line-height:1.4;cursor:pointer;text-align:center}.kp-button:hover{box-shadow:0 3px 10px #20365118}.kp-text-link{display:inline-block;font-weight:600}.kp-text-link:hover{text-decoration:underline}.kp-menu{background:#fff;border:1px solid var(--kp-line);border-radius:6px;padding:9px 12px;font:inherit}.kp-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:44px;margin-block:32px 48px;padding:36px;border-radius:14px;background:#f4f9ff}.kp-hero-home{grid-template-columns:1fr 1.2fr;background:linear-gradient(90deg,rgba(255,255,255,.4),rgba(255,255,255,0) 55%),linear-gradient(180deg,#e2f3fd 0%,#e9f5fb 55%,#eff8e6 100%);padding:32px 40px 24px;gap:26px;border-radius:22px;overflow:hidden}.kp-hero-art{display:block;width:100%;object-fit:contain}.kp-hero .kp-eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:700;color:#41577c;margin-bottom:16px}.kp-lead{font-size:18px;line-height:1.7}.kp-hero-events{min-height:320px}.kp-hero-providers{min-height:320px}.kp-section{margin-block:48px}.kp-section-heading{margin-bottom:24px}.kp-section-heading p:last-child{margin-bottom:0}.kp-section-heading .kp-eyebrow{font-size:12px;letter-spacing:1.5px;font-weight:700}.kp-section-heading .kp-green{display:inline-block;color:#23684a;background:#dff1df;padding:5px 12px;border-radius:6px}.kp-heading-row{display:flex;justify-content:space-between;align-items:center;gap:24px}.kp-heading-row>a{flex-shrink:0}.kp-voucher-panel{display:grid;grid-template-columns:34% 1fr;align-items:center;gap:30px;padding:24px;background:#fff;border:1px solid #dcdfe4;border-radius:12px}.kp-voucher-art{display:block;width:100%;object-fit:contain}.kp-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}.kp-tile{display:flex;align-items:center;gap:10px;background:white;border:1px solid var(--kp-line);border-radius:8px;box-shadow:0 3px 9px #263f6010;padding:16px 12px;color:var(--kp-ink)!important;min-height:86px}.kp-tile strong{font-size:14px}.kp-tile small{display:block;color:var(--kp-muted);font-size:12px}.kp-tile .kp-tile-icon{width:50px;height:50px;object-fit:contain;flex:none}.kp-centered{text-align:center}.kp-featured-events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.kp-card{border:1px solid var(--kp-line);border-radius:10px;background:white;box-shadow:0 4px 12px #2036510c;min-width:0}.kp-featured-event{padding:12px;display:flex;flex-direction:column}.kp-event-art{width:100%;height:auto;display:block;border-radius:7px}.kp-featured-event>div{padding:18px 10px 10px;display:flex;flex-direction:column;flex:1}.kp-featured-event p{font-size:15px}.kp-featured-event .kp-text-link{margin-top:auto}.kp-home-providers{background:#f4f7fc;border-radius:12px;padding:30px}.kp-provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.kp-provider-card{display:grid;grid-template-columns:280px minmax(0,1fr);gap:28px;padding:16px;border:1px solid var(--kp-line);border-radius:9px;box-shadow:0 3px 10px #20365109;background:#fff}.kp-logo-panel{display:flex;justify-content:center;align-items:center;background:#f5f6f8;border-radius:7px;padding:12px;min-height:150px}.kp-provider-logo{display:block;max-width:250px!important;max-height:130px;width:auto!important;object-fit:contain}.kp-provider-card h2{font-size:23px}.kp-provider-directory .kp-provider-card:not(.kp-provider-no-image){grid-template-columns:38% minmax(0,1fr);gap:40px;padding:24px}.kp-provider-directory .kp-logo-panel{align-self:stretch;min-height:220px;padding:20px;border-radius:10px;background:linear-gradient(135deg,#f4f5f7,#e9ecf1)}.kp-provider-directory .kp-provider-logo{max-width:80%!important;max-height:180px}.kp-provider-directory .kp-provider-card>div:last-child{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:8px 16px 8px 0}.kp-provider-directory .kp-provider-card h2{font-size:30px;letter-spacing:-.5px;margin-bottom:14px}.kp-provider-directory .kp-provider-card p{font-size:17px;margin-bottom:10px}.kp-provider-directory .kp-topics{font-size:15px;margin:12px 0 4px}.kp-topics span+span:before{content:"\2022";margin:0 14px}.kp-provider-directory .kp-text-link{margin-top:14px;font-size:17px}@media(max-width:1024px){.kp-provider-directory .kp-provider-card:not(.kp-provider-no-image){grid-template-columns:34% minmax(0,1fr);gap:28px}.kp-provider-directory .kp-provider-card h2{font-size:26px}}@media(max-width:700px){.kp-provider-directory .kp-provider-card:not(.kp-provider-no-image){grid-template-columns:1fr;gap:20px;padding:16px}.kp-provider-directory .kp-logo-panel{min-height:160px}.kp-provider-directory .kp-provider-card>div:last-child{padding:0}}@media(min-width:801px){.kp-header-inner{display:grid;grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr);gap:24px}.kp-header nav{display:contents}.kp-nav-links{display:flex;align-items:center;gap:25px;justify-self:center}.kp-header nav>.kp-button{justify-self:end}}@media(min-width:801px) and (max-width:1024px){.kp-nav-links{gap:15px}}.kp-nav-links{display:flex;flex-wrap:wrap;gap:15px 25px}.kp-provider-card p{margin-bottom:12px}.kp-provider-compact{grid-template-columns:150px minmax(0,1fr);gap:20px;padding:20px}.kp-provider-compact .kp-logo-panel{background:#fff;border-right:1px solid var(--kp-line);border-radius:0;padding:6px;min-height:100%}.kp-provider-compact .kp-provider-logo{max-width:138px!important;max-height:110px}.kp-provider-compact h2{font-size:18px}.kp-provider-compact p{font-size:14px}.kp-provider-compact .kp-button{font-size:13px;padding:10px 12px}.kp-topics{font-size:14px}.kp-provider-directory{display:grid;gap:26px;margin-block:0 56px}.kp-faq-list{width:75%;margin-inline:auto}.kp-faq details{border:1px solid var(--kp-line);border-radius:8px;margin-bottom:12px;background:white}.kp-faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;list-style:none;padding:19px 22px;font-weight:600}.kp-faq summary::-webkit-details-marker{display:none}.kp-faq summary::marker{content:""}.kp-faq summary:after{content:"+";font-size:25px;line-height:1;color:var(--kp-blue);flex:none}.kp-faq details[open] summary:after{content:"−"}.kp-faq details>div{border-top:1px solid var(--kp-line);padding:20px 22px}.kp-faq details p:last-child{margin-bottom:0}.kp-filters{margin-top:22px}.kp-filters label{font-size:14px;font-weight:600;display:flex;flex-direction:column;gap:7px}.kp-filters input,.kp-filters select{font:inherit;background:#fff;color:#111;border:1px solid #c9d5e5;border-radius:6px;padding:12px 14px;min-height:46px;max-width:100%;width:100%}.kp-search{width:100%;margin-bottom:18px}.kp-filter-row{display:flex;align-items:end;flex-wrap:wrap;gap:16px}.kp-filter-row label{flex:1;min-width:180px}.kp-filter-row>a{padding:10px}.kp-results-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:38px}.kp-results-heading label{min-width:210px}.kp-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.kp-event-card{padding:28px;display:flex;flex-direction:column}.kp-event-card .kp-event-meta{font-size:14px;margin-bottom:9px}.kp-event-card .kp-text-link{margin-top:auto;align-self:flex-start;background:transparent;padding:0}.kp-empty{text-align:center;padding:42px 24px;border:1px solid var(--kp-line);border-radius:10px;background:#f8fbff}.kp-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;margin-top:32px}.kp-pagination a{padding:8px 14px;border:1px solid var(--kp-line);border-radius:6px}.kp-pagination a[aria-current]{background:var(--kp-blue);color:#fff}.kp-detail{max-width:850px;margin:48px auto 64px}.kp-detail h1{margin-top:28px}.kp-detail section{margin-block:30px}.kp-detail h2{font-size:24px}.kp-detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:32px}.kp-rich-text{margin-block:26px}.kp-rich-text img{height:auto}.kp-rich-text table{display:block;max-width:100%;overflow-x:auto}.kp-rich-text pre{max-width:100%;overflow:auto}.kp-status{border:1px solid var(--kp-line);background:var(--kp-pale);padding:14px;border-radius:6px}.kp-footer{border-top:1px solid var(--kp-line);padding:38px 0;margin-top:24px}.kp-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}.kp-footer-grid-5{grid-template-columns:1.3fr 1fr 1fr 1fr 1fr}.kp-footer h2{font-size:16px;margin-bottom:16px}.kp-footer-grid>div>a:not(.kp-brand){display:block;font-size:13px;color:var(--kp-muted);margin-bottom:8px}.kp-footer .kp-brand strong{font-size:22px}.kp-footer .kp-brand small{font-size:9px}.kp-socials{display:flex;flex-wrap:wrap;gap:10px}.kp-socials a{font-size:12px;display:inline-flex;align-items:center;justify-content:center;line-height:1}.kp-socials a span{font-size:18px;font-weight:700;line-height:1}.kp-socials a i.icon{margin:0;line-height:1}@media(max-width:800px){.kp-site .kp-filters input,.kp-site .kp-filters select{font-size:16px}}.kp-copyright{font-size:12px;margin-top:18px!important}
@media(max-width:1024px){.kp-header-inner{gap:16px}.kp-header nav{gap:15px}.kp-header nav a:not(.kp-button){font-size:13px}.kp-brand strong{font-size:22px}.kp-header .kp-button{padding:10px 12px}.kp-hero{gap:24px;padding:26px}.kp-hero-home{padding-inline:24px}.kp-provider-grid{grid-template-columns:1fr}.kp-provider-compact{grid-template-columns:150px 1fr}.kp-voucher-panel{grid-template-columns:30% 1fr;gap:18px}.kp-tiles{gap:8px}.kp-tile{flex-wrap:wrap}.kp-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.kp-header-inner{flex-wrap:wrap}.kp-header nav{width:100%;flex-wrap:wrap}.kp-site.kp-js .kp-menu{display:block;margin-left:auto}.kp-site.kp-js #kp-navigation{display:none}.kp-site.kp-js #kp-navigation.is-open{display:flex}.kp-hero{gap:20px}.kp-voucher-panel{grid-template-columns:1fr}.kp-voucher-art{max-width:400px;margin:auto}.kp-featured-events{gap:14px}.kp-featured-event>div{padding:14px 4px 6px}.kp-faq-list{width:100%}.kp-provider-card{grid-template-columns:180px 1fr;gap:24px;padding:22px}}
@media(max-width:600px){.kp-wrap{width:calc(100% - 32px)}.kp-header-inner{padding-block:16px}.kp-hero{grid-template-columns:1fr;padding:24px 20px;margin-block:24px 32px}.kp-hero-home{padding-inline:20px}.kp-hero-art{max-height:none}.kp-lead{font-size:16px}.kp-site h1{font-size:34px}.kp-site h2{font-size:25px}.kp-section{margin-block:36px}.kp-heading-row,.kp-results-heading{align-items:flex-start;flex-direction:column;gap:16px}.kp-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.kp-tile{flex-wrap:nowrap;padding:12px;gap:8px}.kp-tile .kp-tile-icon{width:36px;height:36px}.kp-voucher-panel{padding:16px}.kp-event-grid,.kp-featured-events,.kp-provider-grid{grid-template-columns:1fr}.kp-event-card{padding:22px}.kp-featured-event>div{padding:18px 10px 10px}.kp-home-providers{padding:22px 16px}.kp-provider-card,.kp-provider-compact{grid-template-columns:1fr;gap:18px;padding:20px}.kp-provider-compact .kp-logo-panel{border-right:0;border-bottom:1px solid var(--kp-line);padding:12px;min-height:80px}.kp-logo-panel{min-height:100px}.kp-faq summary{padding:17px 18px;font-size:15px}.kp-filter-row{align-items:stretch}.kp-filter-row label{min-width:100%}.kp-results-heading label{width:100%}.kp-footer-grid{gap:28px 20px}.kp-footer-grid>div:first-child{grid-column:1/-1}.kp-footer .kp-brand small{font-size:10px}.kp-detail{margin-block:32px 48px}}

@media(min-width:801px){.kp-site .kp-menu{display:none}}

.kp-socials a{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;font-size:19px;color:#111}.kp-socials i.icon{margin:0}

/* Directory heroes: artwork reaches the card edges; only live copy has padding. */
.kp-site .kp-directory-hero{grid-template-columns:minmax(0,42fr) minmax(0,58fr);gap:0;padding:0;min-height:0;overflow:hidden;align-items:center}
.kp-directory-hero .kp-hero-copy{padding:28px;min-width:0}
.kp-directory-hero .kp-hero-copy .kp-lead{margin-bottom:0;font-size:16px}
.kp-directory-hero .kp-hero-media{position:relative;align-self:stretch;display:flex;align-items:center;min-width:0;background:#e6f4ff;overflow:hidden}
.kp-directory-hero .kp-hero-art{display:block;width:100%;height:auto;object-fit:contain;flex:none}
/* Cover only the leftover screenshot text; keep people and original file intact. */
.kp-hero-events .kp-hero-media-original::after{content:"";position:absolute;left:0;top:49%;width:7%;height:23%;background:linear-gradient(90deg,#e3f2ff 80%,#e3f2ff00);pointer-events:none}
@media(max-width:1024px){.kp-directory-hero .kp-hero-copy{padding:22px}.kp-directory-hero h1{font-size:32px}.kp-directory-hero .kp-hero-copy .kp-lead{font-size:15px}}
@media(max-width:800px){.kp-site .kp-directory-hero{grid-template-columns:1fr}.kp-directory-hero .kp-hero-copy{padding:26px 24px}.kp-directory-hero .kp-hero-media{align-self:auto}.kp-directory-hero .kp-hero-copy .kp-lead{font-size:16px}}

/* Keep incomplete image records compact and card actions aligned. */
.kp-provider-card.kp-provider-no-image{grid-template-columns:minmax(0,1fr)}
.kp-featured-event{display:flex;flex-direction:column}
.kp-featured-event>div{display:flex;flex-direction:column;flex:1}
.kp-featured-event>div>.kp-text-link{margin-top:auto;align-self:flex-start}
@media(max-width:800px){
 .kp-site .kp-menu,.kp-site .kp-button,.kp-site .kp-pagination a{min-height:44px}
 .kp-site .kp-text-link{min-height:44px;display:inline-flex;align-items:center}
 .kp-site .kp-footer-grid>div>a:not(.kp-brand){min-height:44px;display:flex;align-items:center}
}
/* Contained gradient banner cards for Events and Course Providers (colours measured from the approved references). */
.kp-site .kp-directory-hero{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:end;gap:0;padding:0 0 0 40px;margin-block:32px 40px;border-radius:22px;overflow:hidden}
.kp-site .kp-directory-hero .kp-hero-copy{padding:40px 24px 40px 0;align-self:center}
.kp-site .kp-directory-hero .kp-hero-media{background:transparent;align-self:end;justify-content:flex-end}
.kp-site .kp-directory-hero .kp-hero-art{width:auto;max-width:100%;max-height:380px;margin-left:auto}
.kp-site .kp-hero-events{background:linear-gradient(135deg,#e1f1fd 0%,#e5f3fe 100%)}
.kp-site .kp-hero-providers{background:linear-gradient(135deg,#dff4fd 0%,#e3f5fe 100%)}
.kp-site .kp-hero-events .kp-hero-media-original::after{display:none}
@media(max-width:1024px){.kp-site .kp-directory-hero{padding-left:28px}.kp-site .kp-directory-hero .kp-hero-copy{padding:28px 16px 28px 0}}
@media(max-width:800px){.kp-site .kp-directory-hero{grid-template-columns:1fr;padding:0;border-radius:16px}.kp-site .kp-directory-hero .kp-hero-copy{padding:28px 20px 8px}.kp-site .kp-directory-hero .kp-hero-art{width:100%;max-height:none}}
/* Homepage hero: artwork anchored to the card's bottom/right so it merges with the gradient instead of floating. */
.kp-site .kp-hero-home{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:16px;align-items:end;padding:32px 0 0 40px}
.kp-site .kp-hero-home>div{align-self:center;padding-bottom:32px}
.kp-site .kp-hero-home .kp-hero-art{aspect-ratio:1586/905;object-fit:cover;object-position:50% 0;align-self:end}
@media(max-width:1024px){.kp-site .kp-hero-home{padding-left:24px}.kp-site .kp-hero-home>div{padding-bottom:24px}}
@media(max-width:600px){.kp-site .kp-hero-home{grid-template-columns:1fr;padding:24px 0 0}.kp-site .kp-hero-home>div{padding:0 20px 8px}}
/* Event page: bordered card with the Featured Image across the top (as in the earlier approved design). */
.kp-detail{max-width:960px}
.kp-detail-back{display:inline-block;margin-bottom:16px}
.kp-detail-card{background:#fff;border:1px solid #dfe5ee;border-radius:12px;padding:26px;box-shadow:0 4px 12px #2036510c;min-width:0}
.kp-detail-card h1{margin-top:0}
.kp-detail-card .kp-detail-banner{margin:0 0 24px}
.kp-detail-card .kp-detail-banner img{display:block;width:100%;height:auto;border-radius:9px}
@media(max-width:600px){.kp-detail-card{padding:18px}}
/* Voucher panel: artwork and tiles share one height, with even gaps (matches the approved reference). */
.kp-voucher-panel{align-items:stretch;gap:16px;padding:14px}
.kp-voucher-panel>div:first-child{display:flex}
.kp-voucher-panel .kp-voucher-art{height:100%;object-fit:cover;border-radius:10px}
.kp-voucher-panel>div:last-child{display:flex;flex-direction:column;gap:14px;min-width:0}
.kp-voucher-panel .kp-tiles{flex:1;grid-auto-rows:1fr;gap:14px;margin-bottom:0}
.kp-voucher-panel .kp-centered{flex:none}
@media(max-width:1100px){.kp-voucher-panel{grid-template-columns:39% 1fr}}
@media(max-width:1000px){.kp-voucher-panel{grid-template-columns:1fr}.kp-voucher-panel>div:first-child{justify-content:center}.kp-voucher-panel .kp-voucher-art{height:auto;max-width:420px;margin:0 auto}}
@media(max-width:600px){.kp-voucher-panel{padding:12px}}
/* Events filters: the search box is exactly as tall as the Category and Country selects. */
.kp-filters input[type="search"],.kp-filters select{box-sizing:border-box;height:46px!important;min-height:46px!important;max-height:46px}
.kp-filters input[type="search"]{padding-top:0;padding-bottom:0;line-height:normal}
/* About page banner uses the Events colours; an uploaded homepage picture keeps its own proportions. */
.kp-site .kp-hero-about{background:linear-gradient(135deg,#e1f1fd 0%,#e5f3fe 100%)}
.kp-site .kp-hero-home .kp-hero-art.kp-hero-art-custom{aspect-ratio:auto;object-fit:contain}
/* Voucher tiles: larger icon and text so they fill the roomy boxes (scales down on smaller screens). */
.kp-voucher-panel .kp-tile{gap:14px;padding:18px 14px;flex-wrap:wrap}
.kp-voucher-panel .kp-tile>span{flex:1 1 0;min-width:min-content}
.kp-voucher-panel .kp-tile strong,.kp-voucher-panel .kp-tile small{overflow-wrap:normal;word-break:normal;hyphens:none}
.kp-voucher-panel .kp-tile .kp-tile-icon{width:clamp(48px,4.4vw,64px);height:clamp(48px,4.4vw,64px)}
.kp-voucher-panel .kp-tile strong{font-size:clamp(15px,1.25vw,18px);line-height:1.3}
.kp-voucher-panel .kp-tile small{font-size:clamp(12px,.97vw,14px)}
@media(max-width:600px){.kp-voucher-panel .kp-tile{padding:12px;gap:10px}.kp-voucher-panel .kp-tile .kp-tile-icon{width:40px;height:40px}.kp-voucher-panel .kp-tile strong{font-size:15px}.kp-voucher-panel .kp-tile small{font-size:12px}}
/* The parent theme sets every paragraph to 13.5px and gives <summary> a 20px bottom margin. On Kube.promo pages paragraphs keep the page text size
   (:where keeps this at the lowest specificity, so classes such as .kp-lead still win) and the FAQ has no extra gap. Theme pages are left to the theme. */
:where(.kp-site:not(.kp-theme-page)) p{font-size:inherit;line-height:inherit}
.kp-faq summary{margin:0;font-size:18px;line-height:1.4}
/* About banner: the eyebrow is a pill. */
.kp-site .kp-hero-about .kp-eyebrow{display:inline-block;background:#fff;border:1px solid #cfe3fa;color:#0558b8;font-size:12px;font-weight:700;letter-spacing:1.4px;line-height:1.3;padding:6px 14px;border-radius:999px;margin-bottom:16px}

/* FAQ typeface matches skills.devopscube.com: the system UI font stack, questions 18px / 500 / #0f1728. */
.kp-faq details,.kp-faq summary,.kp-faq details p{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.kp-faq summary{font-weight:500;color:#0f1728}

/* Mobile footer matches skills.devopscube.com: one column, small uppercase headings, 14px links, outlined social buttons. Tablet and desktop are unchanged. */
@media(max-width:639px){
.kp-site .kp-footer{padding:48px 0 40px}
.kp-site .kp-footer .kp-footer-grid,.kp-site .kp-footer .kp-footer-grid-5{grid-template-columns:minmax(0,1fr);gap:40px}
.kp-site .kp-footer .kp-footer-grid>div:first-child{grid-column:auto}
.kp-site .kp-footer h2{margin:0 0 16px;font-size:12px;font-weight:600;line-height:1.35;letter-spacing:.05em;text-transform:uppercase;color:#111827}
.kp-site .kp-footer .kp-footer-grid>div>a:not(.kp-brand){display:block;min-height:0;margin:0;padding:6px 0;font-size:14px;line-height:21px;color:#4b5563}
.kp-site .kp-footer .kp-socials{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.kp-site .kp-footer .kp-socials a{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:0 12px;border-radius:6px;box-shadow:0 0 0 1px rgba(17,24,39,.1);font-size:16px;line-height:1;color:#4b5563}
.kp-site .kp-footer .kp-socials a span{font-size:15px;font-weight:700}
.kp-site .kp-footer .kp-copyright{margin:20px 0 0!important;font-size:12px;line-height:1.5;color:#4b5563}
}

/* Short pages: the footer stays at the bottom of the window instead of floating mid-screen with blank space under it. */
.kp-site{display:flex;flex-direction:column;min-height:100vh}
.kp-site.admin-bar{min-height:calc(100vh - 32px)}
@media(max-width:782px){.kp-site.admin-bar{min-height:calc(100vh - 46px)}}
.kp-site main#kp-main{flex:1 0 auto}
/* Event and provider page titles: smaller than the big banner headings (34px laptop, 26px phone). */
.kp-site .kp-detail h1{font-size:clamp(26px,2.4vw,34px);letter-spacing:-.5px}

/* Event and provider page text: 18px on laptop and phone (headings and buttons keep their own sizes). */
.kp-site .kp-detail-card p,.kp-site .kp-detail-card li,.kp-site .kp-detail-card td,.kp-site .kp-detail-card dd,.kp-site .kp-detail-card blockquote{font-size:18px;line-height:1.7}
@media(max-width:600px){.kp-site .kp-detail-card p,.kp-site .kp-detail-card li,.kp-site .kp-detail-card td,.kp-site .kp-detail-card dd,.kp-site .kp-detail-card blockquote{font-size:17px;line-height:1.65}}

/* Individual Course Provider Detail. */
.kp-provider-detail{margin-block:20px 64px}
.kp-pr-crumbs{margin:0 0 24px;font-size:15px}
.kp-pr-crumbs ol{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;list-style:none;margin:0;padding:0}
.kp-pr-crumbs li+li::before{content:"/";margin-right:8px;color:#7d8aa3}
.kp-pr-crumbs a{color:#0a5bd3;text-decoration:none}
.kp-pr-crumbs a:hover{text-decoration:underline}
.kp-pr-crumbs [aria-current]{color:#0d1224;font-weight:600}
.kp-pr-hero{display:flex;align-items:center;gap:36px;background:#edf5ff;border:1px solid #dce8f6;border-radius:16px;padding:36px 40px}
.kp-pr-logo-card{width:220px;height:220px;flex:none;background:#ffffff;border:1px solid #e2eaf4;border-radius:14px;box-shadow:0 4px 16px rgba(10,35,75,.05);display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden}
.kp-site .kp-pr-logo-img,.kp-pr-logo-card img{max-width:115%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain;display:block}
.kp-pr-logo-text{font-size:20px;font-weight:800;color:#0d1224;text-align:center}
.kp-pr-hero-body{display:flex;flex-direction:column;justify-content:center;min-width:0}
.kp-pr-eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#2b558f;margin-bottom:8px}
.kp-pr-title{font-size:clamp(30px,3.4vw,46px);font-weight:800;line-height:1.15;color:#0d1224;margin:0 0 12px;letter-spacing:-.02em}
.kp-pr-tagline{font-size:clamp(17px,1.6vw,20px);line-height:1.45;color:#2b3952;margin:0 0 20px;max-width:none}
.kp-pr-pills{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.kp-pr-pill{display:inline-flex;align-items:center;padding:6px 18px;border-radius:999px;background:#dbe9fc;color:#0a5bd3;font-size:15px;font-weight:700;line-height:1.35}
.kp-pr-about{margin:48px 0 0;max-width:1100px}
.kp-pr-about h2{font-size:clamp(26px,2.5vw,36px);font-weight:800;color:#0d1224;margin:0 0 22px;letter-spacing:-.02em}
.kp-pr-about .kp-rich-text{font-size:18px;line-height:1.7;color:#33425f;margin-bottom:28px}
.kp-pr-about .kp-rich-text :is(p,h3,h4,h5,h6){font:inherit;font-weight:400;color:inherit;margin:0 0 18px}
.kp-pr-about .kp-rich-text :is(p,h3,h4,h5,h6):last-child{margin-bottom:0}
.kp-pr-action{margin-top:32px}
.kp-pr-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#0a5bd3;color:#ffffff!important;border:0;border-radius:8px;padding:14px 28px;font-size:17px;font-weight:700;text-decoration:none;box-shadow:0 3px 10px rgba(10,91,211,.2);transition:background-color .15s ease,transform .15s ease}
.kp-pr-btn:hover{background:#084aa8}
.kp-pr-icon{width:18px;height:18px;flex:none}
@media(max-width:768px){
  .kp-pr-hero{flex-direction:column;align-items:flex-start;gap:22px;padding:24px}
  .kp-pr-logo-card{width:160px;height:160px;padding:18px}
  .kp-pr-title{font-size:28px}
  .kp-pr-tagline{font-size:16px;margin-bottom:16px}
  .kp-pr-pill{font-size:14px;padding:5px 14px}
  .kp-pr-about{margin-top:36px}
}

/* Uploaded complete brand logo; retain its proportions within the existing header/footer. */
.kp-site .kp-brand-custom{min-width:0;max-width:230px;flex-shrink:0}
.kp-site .kp-brand-logo{display:block;width:auto;height:auto;max-width:100%;max-height:56px;object-fit:contain}
.kp-site .kp-footer .kp-brand-custom{max-width:210px}
@media(max-width:600px){.kp-site .kp-header .kp-brand-custom{max-width:180px}.kp-site .kp-header .kp-brand-logo{max-height:48px}}

/* Events directory cards: compact date/location rows match the approved event listing. */
.kp-events-directory .kp-event-grid{gap:20px}
.kp-events-directory .kp-event-card{min-height:220px;padding:24px 28px;box-shadow:7px 7px 0 #edf3fb,0 4px 12px rgba(32,54,97,.08)}
.kp-events-directory .kp-event-card h3{font-size:21px;line-height:1.3;margin:0 0 14px}
.kp-events-directory .kp-event-card-meta{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0 0 14px}
.kp-events-directory .kp-event-card .kp-event-meta{display:inline-flex;align-items:center;gap:8px;margin:0;color:var(--kp-muted);font-size:15px;line-height:1.45}
.kp-events-directory .kp-event-card .kp-ev-icon{width:19px;height:19px;flex:none;color:#1556d8;stroke-width:2.35}
.kp-events-directory .kp-event-card .kp-event-summary{margin:0 0 16px;font-size:15px;line-height:1.5}
.kp-events-directory .kp-event-card .kp-text-link{margin-top:0;font-size:16px}
@media(max-width:600px){.kp-events-directory .kp-event-card{min-height:0;padding:22px}.kp-events-directory .kp-event-card-meta{gap:8px 16px}}

/* Homepage typography: sizes measured from the approved 1285px design (Source Sans 3, see typography.css). */
.kp-site .kp-hero-home{grid-template-columns:minmax(0,1.25fr) minmax(0,1.1fr)}
.kp-site .kp-hero-home h1{font-size:clamp(34px,3.74vw,48px);font-weight:700;line-height:1.17;letter-spacing:-2.4px;margin-bottom:18px;color:#0a0a0a;text-wrap:balance}
.kp-site .kp-hero-home .kp-lead{font-size:21.5px;font-weight:400;line-height:1.5;max-width:24.5em;margin-bottom:14px;color:#45484d}
.kp-site .kp-hero-home .kp-eyebrow{font-size:15.5px;font-weight:700;letter-spacing:1.8px;color:#45484d;margin-bottom:12px}
.kp-site .kp-hero-home .kp-button{font-size:20px;font-weight:500;line-height:26px;padding:12px 28px 12px 26px}
.kp-site .kp-section-heading .kp-green{border-radius:999px;color:#111827;padding:6px 14px}
.kp-site #kp-vouchers-title{font-weight:700;line-height:1.2}
.kp-site #kp-vouchers-title + p{font-weight:400;line-height:1.5}
.kp-site .kp-voucher-panel>div:first-child{align-items:center;justify-content:center}
.kp-site .kp-voucher-panel .kp-voucher-art{height:auto;aspect-ratio:1346/1168;object-fit:contain;object-position:center}
.kp-site .kp-voucher-panel .kp-tile strong{font-size:23px;font-weight:700;line-height:1.2;color:#2b2e33}
.kp-site .kp-voucher-panel .kp-tile-long strong{font-size:17px;line-height:1.55}
.kp-site .kp-voucher-panel .kp-tile small{font-size:15.5px;font-weight:400;line-height:1.4;margin-top:4px;color:#2b2e33}
.kp-site .kp-voucher-panel .kp-centered .kp-button{font-size:21px;font-weight:500;line-height:26px;padding:12px 28px 12px 25px}

/* Approved homepage editorial type scale. */
.home .kp-header nav a:not(.kp-button){font-size:18px;color:#222}
.home .kp-header nav a[aria-current]{color:#111}
.home .kp-header .kp-button{font-size:18px;font-weight:500;line-height:26px;padding:11px 23px 11px 24px}
.home .kp-section{margin-block:0}
.home .kp-section-heading{margin-bottom:11px}
.home .kp-section-heading h2{font-size:clamp(28px,3.16vw,40.5px);font-weight:700;line-height:1.2;letter-spacing:-1px;margin:0;color:#1f2328}
.home .kp-section-heading p:not(.kp-eyebrow){font-size:21px;font-weight:400;line-height:1.5;letter-spacing:0;color:#45484d;margin:0}
.home .kp-section-heading .kp-eyebrow{font-size:14.5px;font-weight:700;line-height:15px;letter-spacing:1.9px;padding:4.5px 9px 4.5px 12px;border-radius:999px;background:#d8f5dc;color:#383b40;margin:0 0 9px}
.home #kp-vouchers-title{font-size:clamp(28px,3.39vw,43.5px)}
.home #kp-vouchers-title + p{color:#6c6f73}
.home #kp-home-events + p{color:#5f6266}
.home .kp-faq .kp-section-heading p:not(.kp-eyebrow){font-size:20px;color:#797c80}
.home .kp-heading-row>a{font-size:19px}
.home .kp-featured-event h3{font-size:24px;font-weight:600;line-height:1.3;letter-spacing:-.2px;margin:0 0 8px;color:#2b2e33}
.home .kp-featured-event p{font-size:18.66px;line-height:1.5;letter-spacing:0;margin:0 0 12px;color:#404348}
.home .kp-featured-event .kp-text-link{font-size:19px;font-weight:500;letter-spacing:0}
.home .kp-provider-compact h2{font-size:21px;font-weight:700;line-height:1.3;letter-spacing:-.15px;margin:0 0 7px}
.home .kp-provider-compact p{font-size:18.5px;font-weight:400;line-height:30px;letter-spacing:0;color:#2b2e33;margin:0 0 12px}
.home .kp-provider-compact .kp-button{font-size:16px;font-weight:500;line-height:22px;letter-spacing:0;padding:10px 21px 10px 19px}
.home .kp-faq summary{color:#2b2e33;font-size:18.5px;font-weight:500;line-height:25px;letter-spacing:0;padding:10px 27px}
.home .kp-faq details>div,.home .kp-faq details>div p{font-size:18px;line-height:1.55;letter-spacing:0;color:#2b2e33}
.home .kp-footer h2{font-size:19px;color:#2b2e33}
.home .kp-footer-grid>div>a:not(.kp-brand),.home .kp-copyright{font-size:18.5px;color:#77797d}

/* Approved homepage layout and colours, measured from the design image (its page starts 25px down). */
.kp-arrow{margin-left:.3em}
/* Buttons are flex rows with a 12px gap; keep the arrow one space from the text, as before it had its own element. */
.kp-site .kp-button .kp-arrow{margin-left:calc(.3em - 12px)}
body.home.kp-site{--kp-blue:#0a6efb}
.home .kp-arrow{--kp-arrow-shape:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12'%3E%3Cpath d='M1 6h15M11 1l5 5-5 5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");display:inline-block;width:18px;height:12px;margin-left:12px;vertical-align:middle;overflow:hidden;text-indent:100%;white-space:nowrap;background:currentColor;-webkit-mask:var(--kp-arrow-shape) center/contain no-repeat;mask:var(--kp-arrow-shape) center/contain no-repeat}
.home .kp-button{gap:0}
.home .kp-button .kp-arrow{margin-left:14px}
.home .kp-header .kp-button .kp-arrow{margin-left:9px}
.home .kp-provider-compact .kp-button .kp-arrow{margin-left:14px}
.home .kp-header{border-bottom-color:#e8edf2}
.home .kp-header-inner{padding-block:17.5px}
.home .kp-hero-home{margin:23px 0 26px}
.home .kp-voucher-panel{border-color:#e6ebf0}
.home .kp-tiles{gap:16px 19px;margin-bottom:20px}
.home .kp-voucher-panel .kp-tiles{flex:none;grid-auto-rows:minmax(118px,auto)}
.home .kp-voucher-panel>div:last-child{gap:0}
.home [aria-labelledby="kp-home-events"]{margin-top:22px}
.home .kp-faq{margin-top:20px}
.home .kp-faq summary:after{line-height:25px}
.home .kp-tile{border-color:#e9eef3}
.home .kp-featured-event{padding:10px 12px 0}
.home .kp-featured-event .kp-event-art{height:133px;object-fit:cover;border-radius:6px}
.home .kp-home-providers{background:#f5f8fc;border-radius:0;margin-top:29px}
.home .kp-provider-compact{border-color:#e9eef3}
.home .kp-provider-compact .kp-logo-panel{border-right-color:#e6ebf0}
.home .kp-provider-compact h2{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.home .kp-faq details{margin-bottom:7px;border-color:#e9eef3;border-radius:7px}
.home .kp-faq summary:after{font-size:26px}
.home .kp-footer{border-top:0;margin-top:39px;padding:0 0 55px}
.home .kp-footer .kp-wrap{border-top:1px solid #e6ebf0;padding-top:23px}
.home .kp-footer h2{margin-bottom:4px}
.home .kp-footer-grid>div>a:not(.kp-brand){line-height:24.5px;margin-bottom:0}
@media(min-width:1025px){
.home .kp-header-inner{padding-inline:30px 23px}
.home .kp-nav-links{gap:28px;margin-left:48px}
.home .kp-hero-home{padding-top:36px}
.home .kp-hero-home>div{padding-bottom:47px}
.home .kp-header nav a:not(.kp-button){padding:12px 0 6px}
}
@media(min-width:1200px){
.home .kp-hero-home{margin-inline:-5px;grid-template-columns:minmax(0,550px);position:relative}
.home .kp-hero-home>div{position:relative;z-index:1}
.home .kp-hero-home .kp-hero-art{position:absolute;left:429px;top:-19px;width:793px;max-width:none;height:auto;aspect-ratio:auto;object-fit:contain;--kp-art-mask:linear-gradient(to right,transparent 150px,#000 210px),linear-gradient(to bottom,transparent 300px,#000 340px);-webkit-mask:var(--kp-art-mask);mask:var(--kp-art-mask)}
.home [aria-labelledby="kp-vouchers-title"]>.kp-section-heading{padding-left:35px}
.home .kp-voucher-panel{margin-inline:7px 6px;padding:12px 17px 25px 22px;grid-template-columns:394px minmax(0,1fr);gap:24px}
.home .kp-tile{min-height:118px;padding:0 12px 0 22px;gap:21px;flex-wrap:nowrap}
.home .kp-tile-long{padding-right:10px}
.home .kp-voucher-panel .kp-tile>span{min-width:0}
.home .kp-tile .kp-tile-icon{width:64px;height:64px}
.home [aria-labelledby="kp-home-events"]{padding-inline:17px 14px}
.home .kp-heading-row{align-items:flex-start}
.home .kp-heading-row>a{margin:19px 8px 0 0}
.home .kp-featured-events{gap:5px}
.home .kp-featured-event>div{padding:10px 6px 14px 14px}
.home .kp-home-providers{padding:30px 44px 30px 47px}
.home .kp-provider-grid{gap:22px}
.home .kp-provider-compact{grid-template-columns:255px minmax(0,1fr);gap:0;padding:0 16px 0 0;min-height:187px;align-items:center}
.home .kp-provider-compact .kp-logo-panel{height:122px;min-height:0;padding:0 20px;overflow:hidden}
/* Logo box sized so the visible logos match the design (~200px wide); uploaded logos carry their own white padding, which the panel clips. */
.home .kp-provider-compact .kp-provider-logo{flex:none;width:265px!important;height:118px;max-width:none!important;max-height:none;object-fit:contain}
.home .kp-provider-compact>div:last-child{padding-left:24px}
.home .kp-footer .kp-wrap{width:min(100% - 40px,1160px)}
.home .kp-footer-grid{grid-template-columns:394px 234px 191px minmax(0,1fr);gap:0;padding-left:25.5px}
}
@media(min-width:1250px){.home .kp-home-providers{margin-inline:-27.5px}}
/* Below desktop the provider logo fills its panel (the uploaded files carry white padding). */
@media(max-width:1199px){.home .kp-provider-compact .kp-logo-panel{overflow:hidden}.home .kp-provider-compact .kp-provider-logo{flex:none;width:min(118%,265px)!important;height:auto;max-width:none!important;max-height:96px;object-fit:contain}}
/* Narrower tiles: keep long titles beside the icon, as on desktop. */
@media(min-width:601px) and (max-width:1199px){.home .kp-tile{flex-wrap:nowrap}.home .kp-voucher-panel .kp-tile>span{min-width:0}.home .kp-voucher-panel .kp-tile-long strong{font-size:14px}}
@media(max-width:600px){.home .kp-section{margin-block:34px}.home .kp-section-heading h2,.home #kp-vouchers-title{font-size:25px}.home .kp-section-heading p:not(.kp-eyebrow),.home .kp-faq .kp-section-heading p:not(.kp-eyebrow){font-size:17px}.home .kp-faq summary{font-size:17px;padding:12px 18px}.home .kp-featured-event h3{font-size:20px}.home .kp-featured-event p,.home .kp-provider-compact p{font-size:16px}.home .kp-footer-grid>div>a:not(.kp-brand),.home .kp-copyright{font-size:16px}.home .kp-home-providers{padding:24px 16px}}
@media(max-width:600px){.kp-site .kp-hero-home{grid-template-columns:1fr}.kp-site .kp-hero-home h1{font-size:33px;letter-spacing:-1.3px}.kp-site .kp-hero-home .kp-lead{font-size:18px}.kp-site .kp-hero-home .kp-button,.kp-site .kp-voucher-panel .kp-centered .kp-button{font-size:18px}.kp-site .kp-voucher-panel .kp-tile strong{font-size:18px}.kp-site .kp-voucher-panel .kp-tile-long strong{font-size:16px}.kp-site .kp-voucher-panel .kp-tile small{font-size:14px}}

/* Events listing: approved design, measured from the design image at 1285px (Inter; colours from the design's blue-violet palette). */
.kp-visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
body.post-type-archive-kp_event{--kp-blue:#2563fb;--ev-ink:#0b0c35;--ev-text:#4a55a3;--ev-soft:#7f8acb;--ev-line:#e2eaf6;overflow-x:clip}
.post-type-archive-kp_event .kp-header{border-bottom-color:#edf1f7}
.post-type-archive-kp_event .kp-header-inner{padding-block:23px}
@media(min-width:1025px){.post-type-archive-kp_event .kp-nav-links{gap:28px;margin-left:48px}}
/* Header menu: same as the homepage. */
.post-type-archive-kp_event .kp-header nav a:not(.kp-button){font-size:18px;color:#222;padding:12px 0 6px}
.post-type-archive-kp_event .kp-header nav a[aria-current]{color:#111;border-bottom-color:#0a6efb}
.post-type-archive-kp_event .kp-header .kp-button{gap:0;font-size:16px;line-height:21px;padding:12px 19px 12px 21px;border-radius:7px;background:#0a5cff;border-color:#0a5cff}
.post-type-archive-kp_event .kp-arrow{--kp-arrow-shape:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12'%3E%3Cpath d='M1 6h15M11 1l5 5-5 5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");display:inline-block;width:15px;height:10px;margin-left:7px;vertical-align:middle;overflow:hidden;text-indent:100%;white-space:nowrap;background:currentColor;-webkit-mask:var(--kp-arrow-shape) center/contain no-repeat;mask:var(--kp-arrow-shape) center/contain no-repeat}
/* Hero: a band as wide as the design's page (content + 57.5px each side, so 1285px at most); the illustration sits flush bottom-right. */
.kp-site.post-type-archive-kp_event .kp-hero-events{display:block;position:relative;margin:0 max(calc(50% - 50vw),-57.5px);padding:0;border-radius:0;min-height:381px;background:#e2f2fe;overflow:hidden}
.post-type-archive-kp_event .kp-hero-events .kp-hero-copy{position:relative;z-index:1;padding:84px 20px 40px min(57.5px,max(20px,calc(50vw - 585px)));max-width:calc(min(57.5px,max(20px,calc(50vw - 585px))) + 480px)}
.post-type-archive-kp_event .kp-hero-events .kp-eyebrow{font-size:16px;letter-spacing:2.5px;color:#3a74fc;margin:0 0 12px}
.kp-site.post-type-archive-kp_event .kp-hero-events h1{font-size:75px;line-height:1;letter-spacing:-2px;color:#05062a;margin:0 0 11px}
.kp-site.post-type-archive-kp_event .kp-hero-events .kp-lead{font-size:20.9px;line-height:33.5px;color:var(--ev-soft);max-width:440px;margin:0}
.kp-site.post-type-archive-kp_event .kp-hero-events .kp-hero-media{position:absolute;right:0;bottom:0;height:381px;background:none}
.kp-site.post-type-archive-kp_event .kp-hero-events .kp-hero-art{height:auto;width:min(855px,calc(100vw - 410px));max-width:none;max-height:none;margin:0}
.kp-site.post-type-archive-kp_event .kp-hero-events .kp-hero-media{display:flex;align-items:flex-end}
/* Filters */
.post-type-archive-kp_event .kp-events-directory{margin-top:28px}
.kp-site.post-type-archive-kp_event .kp-events-directory h2{font-size:42.5px;line-height:1.2;letter-spacing:-.5px;color:#16184a;margin:0}
.post-type-archive-kp_event .kp-events-intro{font-size:22px;line-height:1.3;color:#8993d1;margin:4px 0 0}
.post-type-archive-kp_event .kp-filters{margin-top:18px}
.post-type-archive-kp_event .kp-search{position:relative;margin-bottom:13px}
.post-type-archive-kp_event .kp-search .kp-ev-icon{position:absolute;left:20px;top:50%;width:23px;height:23px;transform:translateY(-50%);color:#8586c5;stroke-width:2}
.kp-site.post-type-archive-kp_event .kp-filters input[type="search"]{height:54px!important;min-height:54px!important;max-height:54px;padding:0 20px 0 59px;font-size:18.5px;color:var(--ev-text);border:1px solid var(--ev-line);border-radius:8px;background:#fff}
.post-type-archive-kp_event .kp-filters input::placeholder{color:#929cd6;opacity:1}
.post-type-archive-kp_event .kp-filter-row{gap:20px;flex-wrap:nowrap}
.post-type-archive-kp_event .kp-filter-row label{font-size:16px;color:#3a4290;gap:5px;min-width:0}
.post-type-archive-kp_event .kp-filter-row label:first-child{flex:0 0 443px}
.post-type-archive-kp_event .kp-filter-row label:nth-child(2){flex:1 1 auto}
.kp-site.post-type-archive-kp_event .kp-filters select{-webkit-appearance:none;appearance:none;height:51px!important;min-height:51px!important;max-height:51px;padding:0 46px 0 20px;font-size:18.5px;color:var(--ev-text);border:1px solid var(--ev-line);border-radius:8px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 9'%3E%3Cpath d='M1.5 1.5 7 7l5.5-5.5' fill='none' stroke='%23212161' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 20px center/14px 9px}
.post-type-archive-kp_event.kp-js .kp-apply{display:none}
.post-type-archive-kp_event .kp-filter-row>.kp-reset{flex:0 0 210px;display:inline-flex;align-items:center;justify-content:center;height:51px;padding:0;border-radius:8px;background:#e5f2fe;color:#2563fb;font-size:18px}
.post-type-archive-kp_event .kp-filter-row>.kp-reset:hover{background:#d7e9fd}
.post-type-archive-kp_event .kp-results-heading{margin-top:44px;align-items:center}
.kp-site.post-type-archive-kp_event .kp-results-heading h2{font-size:30px;letter-spacing:-1.3px;color:#16184a}
.post-type-archive-kp_event .kp-results-heading label{position:relative;top:7px;flex-direction:row;align-items:center;gap:11px;min-width:0;font-size:18.5px;color:var(--ev-soft)}
.kp-site.post-type-archive-kp_event .kp-results-heading select{width:146px;height:43px!important;min-height:43px!important;max-height:43px;padding:0 40px 0 14px;color:#5d68b4;background-position:right 16px center}
/* Event cards */
.post-type-archive-kp_event .kp-event-grid{margin-top:20px;gap:24px}
.post-type-archive-kp_event .kp-events-directory .kp-event-card{min-height:0;padding:21px 28px 26px;border:1px solid var(--ev-line);border-radius:9px;box-shadow:8px 8px 0 #e8f1fc}
.kp-site.post-type-archive-kp_event .kp-events-directory .kp-event-card h3{font-size:29px;line-height:1.25;letter-spacing:-1.2px;color:var(--ev-ink);margin:0 0 13px}
.post-type-archive-kp_event .kp-events-directory .kp-event-card-meta{gap:8px 28px;margin:0 0 14px}
.post-type-archive-kp_event .kp-events-directory .kp-event-card .kp-event-meta{gap:13px;font-size:18.5px;line-height:1.35;color:var(--ev-text)}
.post-type-archive-kp_event .kp-events-directory .kp-event-card .kp-ev-icon{width:21px;height:21px;color:#1450fb}
.post-type-archive-kp_event .kp-events-directory .kp-event-card .kp-event-summary{font-size:18.6px;line-height:25px;color:var(--ev-soft);margin:0 0 22px}
.post-type-archive-kp_event .kp-events-directory .kp-event-card .kp-text-link{font-size:20.6px;color:#265df9}
.post-type-archive-kp_event .kp-event-card .kp-arrow{width:19px;height:13px;margin-left:10px}
.post-type-archive-kp_event .kp-header .kp-button .kp-arrow{margin-left:7px}
/* Pagination */
.post-type-archive-kp_event .kp-pagination{margin-top:17px;gap:7px}
.post-type-archive-kp_event .kp-pagination a{display:inline-flex;align-items:center;justify-content:center;min-width:41px;height:45px;min-height:45px;padding:0 12px;border:1px solid var(--ev-line);border-radius:7px;font-size:16px;color:#3f72fb;background:#fff}
.post-type-archive-kp_event .kp-pagination a[aria-current]{background:#0a5bfb;border-color:#0a5bfb;color:#fff}
/* Footer */
@media(max-width:1199px){.post-type-archive-kp_event .kp-filter-row{flex-wrap:wrap}.post-type-archive-kp_event .kp-filter-row label:first-child{flex:1 1 300px}.post-type-archive-kp_event .kp-filter-row label:nth-child(2){flex:1 1 300px}}
@media(max-width:1024px){.kp-site.post-type-archive-kp_event .kp-hero-events{min-height:0}.post-type-archive-kp_event .kp-hero-events .kp-hero-copy{padding:48px 20px 24px 20px;max-width:none}.kp-site.post-type-archive-kp_event .kp-hero-events .kp-lead{max-width:560px}.kp-site.post-type-archive-kp_event .kp-hero-events .kp-hero-media{position:static;height:auto;justify-content:flex-end}.kp-site.post-type-archive-kp_event .kp-hero-events .kp-hero-art{width:min(100%,855px);height:auto}}
@media(max-width:800px){.post-type-archive-kp_event .kp-hero-events .kp-hero-copy{padding:40px 20px 24px}}
@media(max-width:600px){.post-type-archive-kp_event .kp-hero-events .kp-hero-copy{padding-inline:16px}}
@media(max-width:800px){.kp-site.post-type-archive-kp_event .kp-hero-events h1{font-size:52px}.kp-site.post-type-archive-kp_event .kp-hero-events .kp-lead{font-size:18px;line-height:28px}.post-type-archive-kp_event .kp-results-heading{align-items:flex-start}.post-type-archive-kp_event .kp-filter-row>.kp-reset{flex:1 1 100%}.kp-site.post-type-archive-kp_event .kp-events-directory h2{font-size:32px}.kp-site.post-type-archive-kp_event .kp-results-heading h2{font-size:26px}.kp-site.post-type-archive-kp_event .kp-events-directory .kp-event-card h3{font-size:24px}}

/* Course Providers listing: approved design, measured from the design image at 1285px (Inter Tight). */
.kp-directory-page .kp-arrow{--kp-arrow-shape:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12'%3E%3Cpath d='M1 6h15M11 1l5 5-5 5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");display:inline-block;width:18px;height:12px;margin-left:12px;vertical-align:middle;overflow:hidden;text-indent:100%;white-space:nowrap;background:currentColor;-webkit-mask:var(--kp-arrow-shape) center/contain no-repeat;mask:var(--kp-arrow-shape) center/contain no-repeat}
/* Header: same as the homepage. */
.kp-directory-page .kp-header{border-bottom-color:#e8edf2}
.kp-directory-page .kp-header-inner{padding-block:17.5px}
.kp-directory-page .kp-header nav a:not(.kp-button){font-size:18px;color:#222;padding:12px 0 6px}
.kp-directory-page .kp-header nav a[aria-current]{color:#111;border-bottom-color:#0a6efb}
.kp-directory-page .kp-header .kp-button{gap:0;font-size:17.5px;line-height:25px;padding:10px 24px 10px 26px;border-radius:7px;background:#0a6efb;border-color:#0a6efb}
.kp-directory-page .kp-header .kp-button .kp-arrow{margin-left:10px}
@media(min-width:1025px){.kp-directory-page .kp-nav-links{gap:28px;margin-left:48px}}
/* Hero: a band as wide as the design's page; the illustration (1725x912) fills its height, flush bottom-right. */
.kp-site.kp-directory-page .kp-hero-providers{display:block;position:relative;margin:0 max(calc(50% - 50vw),-57.5px);padding:0;border-radius:0;min-height:401px;background:#e2f2fd;overflow:hidden}
.kp-directory-page .kp-hero-providers .kp-hero-copy{position:relative;z-index:1;padding:80px 20px 36px min(63.5px,max(20px,calc(50vw - 579px)));max-width:calc(min(63.5px,max(20px,calc(50vw - 579px))) + 520px)}
.kp-site.kp-directory-page .kp-hero-providers .kp-eyebrow{font-size:20px;line-height:1.2;letter-spacing:3px;color:#2057fd;margin:0 0 10px}
.kp-site.kp-directory-page .kp-hero-providers h1{font-size:76px;line-height:.86;letter-spacing:-.2px;color:#070707;margin:0 0 18px}
.kp-site.kp-directory-page .kp-hero-providers .kp-lead{font-size:24.4px;line-height:34px;letter-spacing:.3px;color:#7f899e;max-width:540px;margin:0}
.kp-site.kp-directory-page .kp-hero-providers .kp-hero-media{position:absolute;right:0;bottom:-6px;height:401px;background:none;display:flex;align-items:flex-end}
.kp-site.kp-directory-page .kp-hero-providers .kp-hero-art{height:401px;width:auto;max-width:none;max-height:none;margin:0}
/* Provider cards */
.kp-directory-page .kp-provider-directory{margin:33px 0 57px;gap:22px}
.kp-directory-page .kp-provider-directory .kp-provider-card:not(.kp-provider-no-image){grid-template-columns:453px minmax(0,1fr);gap:35px;padding:22px 24px 27px 20px;min-height:284px;border:1px solid #e9ecf1;border-radius:11px;box-shadow:0 2px 10px rgba(30,40,70,.04)}
.kp-directory-page .kp-provider-directory .kp-logo-panel{min-height:232px;height:232px;padding:20px;border-radius:9px;background:linear-gradient(135deg,#f1f1f3,#e9eaee)}
.kp-directory-page .kp-provider-directory .kp-provider-logo{width:76%!important;max-width:345px!important;height:auto;max-height:120px;object-fit:contain}
.kp-directory-page .kp-provider-directory .kp-provider-card>div:last-child{justify-content:flex-start;padding:0}
.kp-site.kp-directory-page .kp-provider-directory .kp-provider-card h2{font-size:32.6px;line-height:1.25;letter-spacing:-1px;color:#111;margin:9px 0 12px}
.kp-site.kp-directory-page .kp-provider-directory .kp-provider-card p{font-size:19.3px;line-height:1.5;color:#7c7b93;margin:0 0 3px}
.kp-site.kp-directory-page .kp-provider-directory .kp-provider-card p+p:not(.kp-topics){color:#a4a7cc}
.kp-site.kp-directory-page .kp-provider-directory .kp-provider-card p.kp-topics{font-size:18.7px;line-height:1.4;letter-spacing:-.8px;color:#abb2de;margin:20px 0 0}
.kp-directory-page .kp-topics span+span:before{margin:0 12px}
.kp-site.kp-directory-page .kp-provider-directory .kp-text-link{font-size:20.4px;line-height:1.4;letter-spacing:-.4px;color:#2b5ffc;margin-top:20px}
/* Footer */
.kp-directory-page .kp-footer{margin-top:0;padding:26px 0 40px;border-top-color:#e6e9ee}
.kp-directory-page .kp-footer h2{font-size:16px;color:#222;margin:0 0 9px}
.kp-directory-page .kp-footer-grid>div>a:not(.kp-brand){font-size:17px;line-height:22px;letter-spacing:-.6px;margin:0;color:#7c7d93}
.kp-directory-page .kp-copyright{font-size:16.8px;letter-spacing:-.6px;color:#acacc7}
@media(min-width:1200px){.kp-directory-page .kp-provider-directory{margin-inline:-9px}.kp-directory-page .kp-footer-grid{grid-template-columns:430px 249px 251px minmax(0,1fr);gap:0}}
@media(max-width:1199px){.kp-directory-page .kp-provider-directory .kp-provider-card:not(.kp-provider-no-image){grid-template-columns:38% minmax(0,1fr);gap:28px}}
@media(min-width:1025px) and (max-width:1284px){.kp-site.kp-directory-page .kp-hero-providers .kp-lead{max-width:440px}.kp-site.kp-directory-page .kp-hero-providers .kp-hero-media{height:auto;bottom:-4px}.kp-site.kp-directory-page .kp-hero-providers .kp-hero-art{height:auto;width:min(758px,calc(100vw - 480px))}}
@media(max-width:1024px){.kp-site.kp-directory-page .kp-hero-providers{min-height:0}.kp-directory-page .kp-hero-providers .kp-hero-copy{padding:48px 20px 24px;max-width:none}.kp-site.kp-directory-page .kp-hero-providers .kp-hero-media{position:static;height:auto;justify-content:flex-end}.kp-site.kp-directory-page .kp-hero-providers .kp-hero-art{width:min(100%,758px);height:auto}}
@media(max-width:700px){.kp-site.kp-directory-page .kp-hero-providers h1{font-size:54px}.kp-site.kp-directory-page .kp-hero-providers .kp-lead{font-size:19px;line-height:28px}.kp-directory-page .kp-provider-directory .kp-provider-card:not(.kp-provider-no-image){grid-template-columns:1fr;gap:20px;padding:16px}.kp-directory-page .kp-provider-directory .kp-logo-panel{height:180px;min-height:180px}.kp-site.kp-directory-page .kp-provider-directory .kp-provider-card h2{font-size:27px}}
@media(max-width:600px){.kp-directory-page .kp-hero-providers .kp-hero-copy{padding-inline:16px}}

/* Events listing footer: identical to the homepage footer (Source Sans 3, same sizes, colours and columns). */
.post-type-archive-kp_event .kp-footer{border-top:0;margin-top:14px;padding:0 0 55px}
.post-type-archive-kp_event .kp-footer .kp-wrap{border-top:1px solid #e6ebf0;padding-top:23px}
.post-type-archive-kp_event .kp-footer h2{font-size:19px;color:#2b2e33;margin:0 0 4px}
.post-type-archive-kp_event .kp-footer-grid>div>a:not(.kp-brand){font-size:18.5px;line-height:24.5px;margin:0;color:#77797d}
.post-type-archive-kp_event .kp-copyright{font-size:18.5px;color:#77797d}
@media(min-width:1200px){.post-type-archive-kp_event .kp-footer .kp-wrap{width:min(100% - 40px,1160px)}.post-type-archive-kp_event .kp-footer-grid{grid-template-columns:394px 234px 191px minmax(0,1fr);gap:0;padding-left:25.5px}}
@media(max-width:600px){.post-type-archive-kp_event .kp-footer-grid>div>a:not(.kp-brand),.post-type-archive-kp_event .kp-copyright{font-size:16px}}
/* Event card icons and their gaps, measured from the design (ink to ink: calendar 13px, pin 11px, monitor 10px). */
.post-type-archive-kp_event .kp-events-directory .kp-event-card .kp-event-meta{gap:0}
.post-type-archive-kp_event .kp-events-directory .kp-event-card .kp-ev-icon{width:24px;height:24px;margin-right:10px}
.post-type-archive-kp_event .kp-events-directory .kp-event-card .kp-ev-icon-pin-solid{margin-right:5px}
.post-type-archive-kp_event .kp-events-directory .kp-event-card .kp-ev-icon-monitor{margin-right:8px}
/* Footer spacing from the events design: 12px below the last content, about 32px below the last link. */
.post-type-archive-kp_event .kp-events-directory{margin-bottom:0}
.post-type-archive-kp_event .kp-footer{margin-top:12px;padding-bottom:15px}
/* Body text letter spacing and colours, fitted line by line against the events design (size + spacing keep the design's line widths). */
.kp-site.post-type-archive-kp_event .kp-hero-events .kp-lead{color:#7b83cf}
.post-type-archive-kp_event .kp-events-intro{font-size:23.6px;letter-spacing:-.75px;color:#7c89d5}
.kp-site.post-type-archive-kp_event .kp-filters input[type="search"]{font-size:20px;letter-spacing:-1.25px;color:#283da4}
.post-type-archive-kp_event .kp-filters input::placeholder{color:#8b97d6;letter-spacing:-1.25px}
.post-type-archive-kp_event .kp-filter-row label{font-size:17.1px;letter-spacing:-.75px;color:#2e3ba1}
.kp-site.post-type-archive-kp_event .kp-filters select{letter-spacing:-.5px;color:#283da4}
.post-type-archive-kp_event .kp-filter-row>.kp-reset{font-size:18.2px;letter-spacing:-.25px;color:#3169fb}
.post-type-archive-kp_event .kp-results-heading label{font-size:18.25px;letter-spacing:-.25px;color:#6c72c9}
.post-type-archive-kp_event .kp-events-directory .kp-event-card .kp-event-meta{font-size:19px;letter-spacing:-.25px;color:#22359f}
.post-type-archive-kp_event .kp-events-directory .kp-event-card .kp-event-summary{color:#6779d0}
/* Homepage "Explore Events" colours measured from the approved design. */
.home #kp-home-events{color:#111}
.home .kp-featured-event h3{color:#111}
.home .kp-featured-event p{color:#5c5c5f}

.home [aria-labelledby="kp-home-events"] .kp-text-link,.home .kp-heading-row>a{color:#3262f2}
/* Homepage provider cards, measured from the approved design: 4px wider text column (the description fits "…courses in Cloud" on one line),
   one-line buttons 261x43 (second one 229 wide, content centred), soft card shadow. */
.home .kp-provider-compact{padding-right:12px;box-shadow:0 2px 10px rgba(30,40,70,.06)}
.home .kp-provider-compact .kp-button{white-space:nowrap;justify-content:center;min-width:229px;padding:10.5px 19px}
@media(min-width:1200px) and (max-width:1249px){.home .kp-provider-compact .kp-button{white-space:normal}}
/* Homepage event card titles: Source Sans 3 600, 24.4px, -0.1px letter spacing (font fit against the approved design). */
.home .kp-featured-event h3{font-size:24.4px;letter-spacing:-.25px}
/* Events listing letter spacing, fitted to the approved design (ink width / letter height of each phrase), and the design's indigo "Register". */
.kp-site.post-type-archive-kp_event .kp-events-directory>h2{letter-spacing:-1.2px}
.kp-site.post-type-archive-kp_event .kp-filters input[type="search"],.post-type-archive-kp_event .kp-filters input::placeholder{letter-spacing:-1.3px}
.post-type-archive-kp_event .kp-filter-row label{letter-spacing:-1px}
.kp-site.post-type-archive-kp_event .kp-filters select{letter-spacing:-.95px}
.post-type-archive-kp_event .kp-filter-row>.kp-reset{letter-spacing:-.6px}
.kp-site.post-type-archive-kp_event .kp-results-heading h2{letter-spacing:-1.5px}
.post-type-archive-kp_event .kp-results-heading label{letter-spacing:-.7px}
.post-type-archive-kp_event .kp-events-directory .kp-event-card .kp-event-meta{letter-spacing:-.5px}
.post-type-archive-kp_event .kp-events-directory .kp-event-card .kp-event-summary{letter-spacing:-.4px}
.post-type-archive-kp_event .kp-events-directory .kp-event-card .kp-text-link{letter-spacing:-.6px;color:#0640fa}
/* Approved events-listing blue for card metadata icons and Register links. */
.kp-site.post-type-archive-kp_event .kp-events-directory .kp-event-card .kp-event-meta .kp-ev-icon,
.kp-site.post-type-archive-kp_event .kp-events-directory .kp-event-card .kp-text-link{color:#2f72ff}
/* Course Providers: colours and letter spacing re-fitted against the approved design (rendered average colour of each line matches the design). */
.kp-site.kp-directory-page .kp-hero-providers .kp-eyebrow{color:#0031fb}
.kp-site.kp-directory-page .kp-hero-providers h1{color:#020202;letter-spacing:-.6px}
.kp-site.kp-directory-page .kp-hero-providers .kp-lead{color:#66768f}
.kp-site.kp-directory-page .kp-provider-directory .kp-provider-card h2{color:#050505}
.kp-site.kp-directory-page .kp-provider-directory .kp-provider-card p{color:#5c5b79;letter-spacing:-.4px}
.kp-site.kp-directory-page .kp-provider-directory .kp-provider-card p+p:not(.kp-topics){color:#9297c3;letter-spacing:0}
.kp-site.kp-directory-page .kp-provider-directory .kp-provider-card p.kp-topics{color:#9ea5d1;letter-spacing:-1.4px}
.kp-site.kp-directory-page .kp-provider-directory .kp-text-link{color:#003bf9}
.kp-site.kp-directory-page .kp-provider-directory .kp-provider-card h2{letter-spacing:-1.2px}
.kp-site.kp-directory-page .kp-provider-directory .kp-text-link{letter-spacing:-.6px}
/* Course Providers: header button blue and footer text fitted to the approved design. */
.kp-directory-page .kp-header .kp-button{background:#025efb;border-color:#025efb}
.kp-directory-page .kp-footer h2{color:#0a0a0a}
.kp-directory-page .kp-footer-grid>div>a:not(.kp-brand){color:#5e5f7a;letter-spacing:-.8px}
.kp-directory-page .kp-copyright{color:#9494b7;letter-spacing:-.3px}
/* Course Providers logos: the uploaded files carry wide empty margins, so the image may use almost the whole panel; the visible logo then matches the design's size. */
.kp-directory-page .kp-provider-directory .kp-logo-panel{padding:0;overflow:hidden}
.kp-directory-page .kp-provider-directory .kp-provider-logo{width:94%!important;max-width:none!important;height:auto;max-height:220px;object-fit:contain}
/* The current devopscube logo file has extra white space on its right; nudge it to the panel centre (no effect once a trimmed file is uploaded). */
.kp-directory-page .kp-provider-directory .kp-provider-logo[src*="dc-courses"]{transform:translateX(12%)}
/* Course Providers: the logo panel always fills the card's height (equal margins above and below, logo centred), as in the approved design. */
.kp-directory-page .kp-provider-directory .kp-provider-card:not(.kp-provider-no-image){align-items:stretch}
.kp-directory-page .kp-provider-directory .kp-logo-panel{height:auto;min-height:232px;align-self:stretch}

/* Individual course provider page: approved design, measured from the design image (scaled so its shared header matches the site's). */
.tax-kp_course_provider .kp-pr-crumbs{margin:27px 0 17px;font-size:16px;letter-spacing:-.3px}
.tax-kp_course_provider .kp-pr-crumbs a{color:#3a80fd}
.tax-kp_course_provider .kp-pr-crumbs li+li::before{color:#8a8f99}
.tax-kp_course_provider .kp-pr-crumbs [aria-current]{color:#49494b}
.tax-kp_course_provider .kp-pr-hero{gap:50px;min-height:324px;padding:34px 40px;background:#e7f4fe;border:0;border-radius:12px}
.tax-kp_course_provider .kp-pr-logo-card{width:252px;height:254px;border:0;border-radius:8px;box-shadow:0 2px 10px rgba(10,35,75,.05)}
.tax-kp_course_provider .kp-pr-eyebrow{font-size:15.5px;letter-spacing:1.8px;color:#565e9c;margin:0 0 14px}
.kp-site.tax-kp_course_provider .kp-pr-title{font-size:60px;line-height:1.1;letter-spacing:-1.5px;color:#070707;margin:0 0 10px}
.tax-kp_course_provider .kp-pr-tagline{font-size:30px;line-height:1.3;letter-spacing:-1.75px;color:#171819;margin:0 0 18px}
.tax-kp_course_provider .kp-pr-pills{gap:17px}
.tax-kp_course_provider .kp-pr-pill{height:36.5px;padding:0 25px;background:#cfe5fd;color:#0e62fb;font-size:18px;letter-spacing:-.9px}
.tax-kp_course_provider .kp-pr-about{margin-top:44px;max-width:none}
.kp-site.tax-kp_course_provider .kp-pr-about h2{font-size:44px;line-height:1.2;letter-spacing:-2.2px;color:#0a0a0a;margin:0 0 22px}
.tax-kp_course_provider .kp-pr-about .kp-rich-text{font-size:25px;line-height:36px;letter-spacing:-.68px;color:#313131}
.tax-kp_course_provider .kp-pr-about .kp-rich-text :is(p,h3,h4,h5,h6){margin:0 0 31px}
.tax-kp_course_provider .kp-pr-action{margin-top:42px}
.tax-kp_course_provider .kp-pr-btn{min-width:331px;height:60px;padding:0 30px;border-radius:7px;background:#005ffe;font-size:20px;letter-spacing:-.5px;box-shadow:none}
.tax-kp_course_provider .kp-pr-btn:hover{background:#004fd6}
@media(max-width:800px){.kp-site.tax-kp_course_provider .kp-pr-title{font-size:40px}.tax-kp_course_provider .kp-pr-tagline{font-size:22px;letter-spacing:-1px}.kp-site.tax-kp_course_provider .kp-pr-about h2{font-size:32px;letter-spacing:-1.2px}.tax-kp_course_provider .kp-pr-about .kp-rich-text{font-size:19px;line-height:29px;letter-spacing:-.3px}.tax-kp_course_provider .kp-pr-logo-card{width:180px;height:180px}.tax-kp_course_provider .kp-pr-btn{min-width:0;width:100%}}

.tax-kp_course_provider .kp-pr-about .kp-rich-text{max-width:960px}
.tax-kp_course_provider .kp-pr-crumbs ol{gap:4px 12px}.tax-kp_course_provider .kp-pr-crumbs li+li::before{margin-right:12px}.tax-kp_course_provider .kp-pr-crumbs{margin-bottom:12px}
.tax-kp_course_provider .kp-pr-logo-card{overflow:hidden;padding:0}
.kp-site.tax-kp_course_provider .kp-pr-logo-card img{width:92%!important;max-width:none!important;height:auto!important;max-height:none!important}
.kp-site.tax-kp_course_provider .kp-pr-logo-card img{flex:none}
.kp-site.tax-kp_course_provider .kp-pr-logo-card img[src*="dc-courses"]{width:118%!important;transform:translateX(9%)}
.tax-kp_course_provider .kp-pr-tagline{font-size:29.4px;letter-spacing:-.8px}
.tax-kp_course_provider .kp-pr-about .kp-rich-text{font-size:25.7px;line-height:37.7px;letter-spacing:-.6px}
.tax-kp_course_provider .kp-pr-about .kp-rich-text :is(p,h3,h4,h5,h6){margin-bottom:27px}
@media(max-width:800px){.tax-kp_course_provider .kp-pr-tagline{font-size:22px;letter-spacing:-.5px}.tax-kp_course_provider .kp-pr-about .kp-rich-text{font-size:19px;line-height:29px;letter-spacing:-.3px}}
/* Provider page, re-measured on the full-resolution design (hero card 1170px = scale 1.846): wider Reddit Sans letter spacing,
   About section inset 37px from the card with lines running to near the card's right edge, softer grey tagline. */
.tax-kp_course_provider .kp-pr-tagline{font-size:32.3px;letter-spacing:-.27px;color:#3a3b3e}
.tax-kp_course_provider .kp-pr-about{padding:0 33px 0 37px}
.tax-kp_course_provider .kp-pr-about .kp-rich-text{max-width:none;font-size:27.1px;line-height:42.5px;letter-spacing:.38px}
.tax-kp_course_provider .kp-pr-about .kp-rich-text :is(p,h3,h4,h5,h6){margin-bottom:32px}
@media(max-width:800px){.tax-kp_course_provider .kp-pr-about{padding:0}.tax-kp_course_provider .kp-pr-tagline{font-size:22px;letter-spacing:0}.tax-kp_course_provider .kp-pr-about .kp-rich-text{font-size:19px;line-height:30px;letter-spacing:.1px}}
.tax-kp_course_provider .kp-pr-tagline{font-size:30px;line-height:39px;letter-spacing:-.5px;color:#1e2024;font-weight:400}
.tax-kp_course_provider .kp-pr-about .kp-rich-text{max-width:960px;letter-spacing:-.5px;font-size:25.5px;line-height:40px;color:#1e2024;font-family:"Reddit Sans",Helvetica,Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}
@media(max-width:800px){.tax-kp_course_provider .kp-pr-about .kp-rich-text{font-size:19px;line-height:30px;letter-spacing:.1px}}
@media(max-width:800px){.tax-kp_course_provider .kp-pr-tagline{font-size:22px;line-height:29px;letter-spacing:0}}
.tax-kp_course_provider .kp-pr-btn{font-weight:300;-webkit-font-smoothing:antialiased}
/* Homepage "View event details" links in #2176ff. */
.home .kp-featured-event .kp-text-link{color:#2176ff}
/* Course Providers, re-verified on the clean design export: topic separators are small 5.4px dots with ~15px each side; link #0345fc; intro #6e788e. */
.kp-directory-page .kp-topics span+span:before{content:"";display:inline-block;width:5px;height:5px;margin:0 15px;border-radius:50%;background:#9b9ecd;vertical-align:middle;position:relative;top:-1px}
.kp-site.kp-directory-page .kp-provider-directory .kp-provider-card p.kp-topics{letter-spacing:-.4px;color:#9ca2d1}
.kp-site.kp-directory-page .kp-provider-directory .kp-text-link,.kp-site.kp-directory-page .kp-provider-directory .kp-text-link .kp-arrow{color:#0345fc}
.kp-site.kp-directory-page .kp-hero-providers .kp-lead{color:#6e788e}
.kp-site.kp-directory-page .kp-provider-directory .kp-provider-card p{color:#595d84}
.kp-site.kp-directory-page .kp-provider-directory .kp-provider-card p+p:not(.kp-topics){color:#979ccb}
.kp-site.kp-directory-page .kp-provider-directory .kp-text-link,.kp-site.kp-directory-page .kp-provider-directory .kp-text-link .kp-arrow{color:#2a6af8}
.kp-site.kp-directory-page .kp-provider-directory .kp-provider-card p:first-of-type:not(.kp-topics){color:#4a4e5e}
