/* Mokokoma site rules: editorial pages, image placement and responsive cards. */
:root{--mk-ink:#17212b;--mk-muted:#5e6871;--mk-line:#d9e0e4;--mk-accent:#c4fb6d;--mk-panel:#f5f7f6}
.elementor-element-bdf143b{display:none!important}
.mk-page-title{min-height:0!important;padding-block:1.5rem 1rem!important;background-image:none!important;background-color:transparent!important}
.mk-page-title>.e-con-inner{padding-block:1.5rem!important}
.mk-page-title:before,.mk-page-title:after{background-image:none!important;opacity:0!important}
.mk-page-title h1{max-width:18ch;margin-inline:auto;text-wrap:balance}
.mokokoma-article-content.mk-article-body{max-width:820px;margin-inline:auto;color:inherit;font-family:inherit;font-size:1rem;line-height:1.72}
.mokokoma-article-content.mk-article-body p{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit}
.mokokoma-article-content.mk-article-body .mk-article-intro{color:inherit;font:inherit;line-height:inherit}
.mokokoma-article-content h2,.mokokoma-article-content h3{line-height:1.28;text-wrap:balance;margin-block:1.4rem .6rem}
.mokokoma-article-content ul,.mokokoma-article-content ol{padding-inline-start:1.5rem;margin-block:1rem}
.mokokoma-article-content li{padding-inline-start:.2rem;margin-block:.45rem}
figure.mokokoma-media-block{float:none!important;clear:both;max-width:100%;margin:1.25rem auto;text-align:center}
figure.mokokoma-media-block img{display:block;float:none!important;width:auto;height:auto;max-width:100%;max-height:680px;margin-inline:auto;object-fit:contain}
/* Give article photos a consistent landscape preview size across every article. */
.mokokoma-article-content figure.mokokoma-media-block{width:100%;max-width:100%}
.mokokoma-article-content figure.mokokoma-media-block img{width:100%!important;height:auto!important;aspect-ratio:3/2!important;max-height:none!important;object-fit:cover}
figure.mokokoma-media-block figcaption{max-width:68ch;margin:.65rem auto 0;color:#b7c0c8;font-size:.9rem;line-height:1.5}
.mokokoma-article-content table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;border-spacing:0;margin:1.5rem auto;line-height:1.5}
.mokokoma-article-content th,.mokokoma-article-content td{min-width:9rem;padding:.75rem;border:1px solid var(--mk-line);text-align:left;vertical-align:top}
.mokokoma-article-content th{background:var(--mk-panel)!important;color:var(--mk-ink)!important;font-weight:650}
.elementor-widget-image-box .elementor-image-box-wrapper{height:100%;display:flex;flex-direction:column}
.elementor-widget-image-box .elementor-image-box-img{width:100%;aspect-ratio:3/2;overflow:hidden}
.elementor-widget-image-box .elementor-image-box-img img{width:100%;height:100%;object-fit:cover}
.elementor-widget-image-box .elementor-image-box-content{display:flex;flex:1;flex-direction:column}
.elementor-widget-icon-box .elementor-icon-box-description{min-height:4.5em}
/* Keep the three visual previews in the home design philosophy carousel aligned. */
.elementor-page-40 .elementor-element-44027a9 .swiper-slide a{display:block;width:100%}
.elementor-page-40 .elementor-element-44027a9 .swiper-slide-inner{display:block;width:100%;margin:0!important;aspect-ratio:5/4;overflow:hidden}
.elementor-element-44027a9 .swiper-slide-image{display:block;width:100%;height:100%;object-fit:cover}
/* Shorter image panels in the homepage Design Topics cards. */
.elementor-page-40 .elementor-element-78de48a .elementor-element-7ed03ad,
.elementor-page-40 .elementor-element-78de48a .elementor-element-9e2077e,
.elementor-page-40 .elementor-element-78de48a .elementor-element-c455807{--padding-top:220px!important}
/* Use the new article photography throughout home-page topic cards and hero. */
.elementor-40 .elementor-element.elementor-element-85e68e7:not(.elementor-motion-effects-element-type-background){background-image:url("../images/articles/generated/composition-02.jpg")!important}
.elementor-40 .elementor-element.elementor-element-7ed03ad:not(.elementor-motion-effects-element-type-background){background-image:url("../images/articles/generated/composition-01.jpg")!important;background-position:center center!important}
.elementor-40 .elementor-element.elementor-element-9e2077e:not(.elementor-motion-effects-element-type-background){background-image:url("../images/articles/generated/ui-design-01.jpg")!important;background-position:center center!important}
.elementor-40 .elementor-element.elementor-element-c455807:not(.elementor-motion-effects-element-type-background){background-image:url("../images/articles/generated/figma-01.jpg")!important;background-position:center center!important}
.elementor-page-40 .elementor-element-3d362e6{justify-content:center!important;align-items:flex-start!important;padding-right:2rem!important}
.elementor-page-40 .elementor-element-1c0e72a>.elementor-widget-container{margin:0!important}
.elementor-page-40 .mk-home-hero-intro{max-width:42ch;margin:0!important;padding:.8rem 1rem;border-left:3px solid var(--mk-accent);border-radius:0 6px 6px 0;background:linear-gradient(90deg,rgba(196,251,109,.09),rgba(196,251,109,0));color:#eef1e8!important;font-family:'DM Sans',sans-serif;font-size:clamp(1.05rem,1.45vw,1.3rem)!important;line-height:1.55!important}
.elementor-page-40 .mk-home-hero-button{align-self:flex-start;margin:1rem 0 0!important}
.elementor-page-40 .mk-home-hero-button>.elementor-widget-container{margin:0!important}
.elementor-page-40 .mk-home-hero-button .elementor-button{padding:.8rem 1.15rem!important;border:1px solid var(--mk-accent)!important;border-radius:5px!important;background:var(--mk-accent)!important;color:#17212b!important;font-family:'DM Sans',sans-serif!important;font-size:.95rem!important;font-weight:700!important;transition:transform .2s ease,background-color .2s ease}
.elementor-page-40 .mk-home-hero-button .elementor-button:hover{transform:translateY(-2px);background:#d5ff91!important}
.elementor-page-40 .mk-home-hero-button .elementor-button:focus-visible{outline:3px solid #fff!important;outline-offset:3px}
@media(max-width:767px){.elementor-page-40 .elementor-element-3d362e6{padding-right:0!important}.elementor-page-40 .mk-home-hero-intro{font-size:1.05rem!important}}
.mk-page-copy{width:min(100% - 2rem,850px);margin:1.75rem auto 2.5rem;color:#f2f4f1;font:inherit;line-height:1.7}
.mk-page-copy h1,.mk-page-copy h2{line-height:1.2;text-wrap:balance}
.mk-page-copy h1,.mk-page-copy h2,.mk-page-copy p,.mk-page-copy li{color:#f2f4f1}
.elementor-page-459 .mk-page-copy h1{font-size:2rem!important}
.elementor-page-459 .mk-page-copy h2{font-size:1.25rem!important}
.mk-page-copy.mk-privacy{width:min(calc(100% - 2rem),760px);margin:1.25rem auto 2rem;font-size:15px;line-height:1.58}
.mk-page-copy.mk-privacy h1{margin:0 0 .65rem;font-size:clamp(1.65rem,2.5vw,2rem);line-height:1.2}
.mk-page-copy.mk-privacy h2{margin:1.1rem 0 .35rem;font-size:1.1rem;line-height:1.3}
.mk-page-copy.mk-privacy p{margin:0 0 .65rem;font-size:inherit;line-height:inherit}
.mk-contact-form{display:grid;gap:.75rem;max-width:680px;margin-block:2rem}
.mk-contact-form label{color:#f2f4f1;font-weight:600}
.mk-contact-form input,.mk-contact-form textarea{width:100%;padding:.75rem;border:1px solid #aeb8bf;border-radius:4px;font:inherit;color:var(--mk-ink);background:#fff}
.mk-contact-form button{justify-self:start;padding:.75rem 1.15rem;border:0;border-radius:4px;background:var(--mk-accent);color:var(--mk-ink);font:inherit;font-weight:650;cursor:pointer}
.mk-contact-form button:focus-visible,.mk-contact-form input:focus-visible,.mk-contact-form textarea:focus-visible{outline:3px solid #416600;outline-offset:2px}
.mk-form-status{min-height:1.5em;margin:0;color:#f2f4f1;font-weight:600}
.mk-form-note{font-size:.9rem;color:#b7c0c8}
.mk-contact-notice{color:#f2f4f1}
@media(max-width:767px){.mk-page-title{padding-block:1.25rem!important}.mk-page-title>.e-con-inner{padding-block:.75rem!important}.elementor-page .elementor-element.elementor-element-ee90624{padding-block:.75rem!important}.elementor-page .elementor-element.elementor-element-ee90624>.e-con-inner{padding-block:.75rem!important}.mokokoma-article-content.mk-article-body{padding-inline:1rem}.mk-page-copy{width:min(100% - 1.25rem,850px);margin-block:1.2rem 2rem}.elementor-page-459 .mk-page-copy h1{font-size:1.75rem!important}.elementor-page-459 .mk-page-copy h2{font-size:1.125rem!important}.mk-page-copy.mk-privacy{width:calc(100% - 1.5rem);margin-block:1rem 1.5rem;font-size:14.5px;line-height:1.55}.mk-page-copy.mk-privacy h1{font-size:1.65rem}.mk-page-copy.mk-privacy h2{font-size:1.05rem;margin-top:1rem}.elementor-widget-image-box .elementor-image-box-description{min-height:0}}

/* Static article cards used on section pages. */
.mk-topic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1.25rem;width:min(100% - 2rem,1180px);margin:1.25rem auto 2.75rem}
.mk-topic-card{display:flex;flex-direction:column;min-width:0;padding:1rem;border:1px solid var(--mk-line);border-radius:8px;background:#fff;color:var(--mk-ink)}
.mk-topic-image{display:block;aspect-ratio:3/2;overflow:hidden;border-radius:4px;background:var(--mk-panel)}
.mk-topic-image img{display:block;width:100%;height:100%;object-fit:cover}
.mk-topic-card h2{margin:1rem 0 .5rem;font-size:1.3rem;line-height:1.25}
.mk-topic-card h2,.mk-topic-card h2 a,.mk-topic-card .mk-read-more{color:var(--mk-ink)!important}
.mk-topic-card h2 a{text-decoration:none}
.mk-topic-card p{flex:1;margin:.35rem 0 1rem;color:var(--mk-muted);line-height:1.55}
.mk-read-more{align-self:flex-start;color:var(--mk-ink);font-weight:650;text-decoration:underline;text-underline-offset:.2em}
.elementor-page span.sep{color:#b7c0c8!important}
.elementskit-post-item .elementskit-entry-thumb,.elementskit-post-image-card img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
@media(max-width:767px){.mk-topic-grid{width:min(100% - 1.25rem,1180px);gap:1rem;margin-block:1.5rem 3rem}}

/* Keep every article preview aligned in both section grids and the home feature row. */
.mk-topic-grid{grid-auto-rows:1fr;align-items:stretch}
.mk-topic-card{height:100%}
.mk-topic-image{position:relative;width:100%;aspect-ratio:3/2;flex:0 0 auto}
.mk-topic-image img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.post-items{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin:0!important;align-items:stretch}
.post-items>.post-item{display:flex;width:auto!important;max-width:none;flex:none;height:100%}
.post-items .elementskit-post-image-card{display:flex;height:100%;flex-direction:column}
.post-items .elementskit-entry-header{width:100%;aspect-ratio:3/2;overflow:hidden}
.post-items .elementskit-entry-thumb{display:block;width:100%;height:100%}
.post-items .elementskit-entry-thumb img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.post-items .elementskit-post-body{flex:1}
.elementor-40 .elementor-element-eb30845 #post-items--eb30845>.post-item{width:auto!important;max-width:none!important;flex:none!important;height:100%;min-width:0}
@media(max-width:1024px){.post-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.post-items{grid-template-columns:1fr;gap:1rem}}

/* Reduce legacy Elementor section padding around article and home content. */
.elementor-page .elementor-element.elementor-element-ee90624,
.elementor-page .elementor-element.elementor-element-c9d8c22{padding-block:2.5rem!important}
.elementor-page .elementor-element.elementor-element-ee90624{padding-block:1rem!important}
.elementor-page .elementor-element.elementor-element-ee90624>.e-con-inner{padding-block:1rem!important}
.elementor-page .elementor-element-3c308b0:has(> .elementor-widget-text-editor .mokokoma-article-content.mk-article-body){width:100%!important;max-width:100%!important;padding-inline:0!important}
.mokokoma-article-content.mk-article-body{width:100%;max-width:none;margin-inline:0}
.elementor-page-598 .mk-page-title>.e-con-inner>.elementor-element-0da059c{width:100%!important;max-width:100%!important;padding-inline:0!important}
.elementor-page-598 .mk-page-title h1{width:100%;max-width:none;margin-inline:0;font-size:45px!important;text-wrap:balance}
@media(max-width:1024px){.elementor-page-598 .mk-page-title h1{font-size:clamp(21.6px,3.78vw,37.8px)!important}}
@media(max-width:640px){.elementor-page-598 .mk-page-title h1{font-size:clamp(18px,5.22vw,25.2px)!important}}
.elementor-30 .elementor-element-be1a6da>.e-con-inner>.elementor-element-f091e7d{flex-grow:1.12!important;padding-right:0!important}
.elementor-page-40 .elementor-element-5c406b9 .elementor-heading-title{font-size:58px!important}
@media(max-width:1024px){.elementor-page-40 .elementor-element-5c406b9 .elementor-heading-title{font-size:42.5px!important}}
@media(max-width:767px){.elementor-page-40 .elementor-element-5c406b9 .elementor-heading-title{font-size:34px!important}}
.elementor-page-40 .elementor-element-5c406b9{position:relative;top:-32px}
@media(max-width:767px){.elementor-page-40 .elementor-element-5c406b9{top:-18px}}
.elementor-30 .elementor-element.elementor-element-be1a6da{padding-block:1.7rem!important}
.elementor-30 .elementor-element.elementor-element-e9f6123{padding-block:10px 19px!important}
@media(max-width:767px){
 .mk-page-title{padding-block:1.1rem .75rem!important}
 .mk-topic-grid{gap:1rem;margin-block:1rem 2rem}
 .elementor-page .elementor-element.elementor-element-ee90624,
 .elementor-page .elementor-element.elementor-element-c9d8c22{padding-block:1.5rem!important}
 .elementor-30 .elementor-element.elementor-element-be1a6da{padding-block:1.06rem!important}
 .elementor-30 .elementor-element.elementor-element-e9f6123{padding-block:8.5px 13.6px!important}
}
