/* KDX26 shared typography. Load after layout styles; change the scale here. */
:root{
 --kdx-font-sans:Areal,sans-serif;
 --kdx-font-editorial:"Times New Roman",Times,serif;
 --kdx-type-h1:40px;
 /* Subtitle: shared green captions over images, independent of article quotes. */
 --kdx-type-subtitle:40px;
 --kdx-subtitle-color:#48ba55;
 --kdx-subtitle-stroke:clamp(1.25px,.09vw,2px);
 --kdx-subtitle-outline:#000;
 --kdx-type-h2:20px;
 --kdx-type-body:14px;
 --kdx-type-h3:var(--kdx-type-body);
 --kdx-leading-body:1.24;
 --kdx-leading-display:1.1;
}
@media(max-width:800px){:root{--kdx-type-h1:28px;--kdx-type-subtitle:28px;--kdx-subtitle-stroke:.6px;--kdx-type-body:14px}}
html body{font-family:var(--kdx-font-sans);font-size:var(--kdx-type-body);font-weight:400;line-height:var(--kdx-leading-body)}
body button,body input,body textarea,body select{font-family:var(--kdx-font-sans);font-size:var(--kdx-type-body);font-weight:400}
body .site-header,body .kdx-footer{font-family:var(--kdx-font-sans);font-size:var(--kdx-type-body);font-weight:400;line-height:var(--kdx-leading-body)}
body .site-header .about,body .site-header nav,body .site-header .mode-selector.energy-switch-desktop{line-height:var(--kdx-leading-body)}
body h1,body .type-h1{font-family:var(--kdx-font-sans);font-size:var(--kdx-type-h1);font-weight:400;line-height:var(--kdx-leading-display)}
body h2,body .type-h2{font-family:var(--kdx-font-sans);font-size:var(--kdx-type-h2);font-weight:400;line-height:1.15}
body h3,body .type-h3{font-family:var(--kdx-font-sans);font-size:var(--kdx-type-h3);font-weight:400;line-height:var(--kdx-leading-body)}
/* Quiet labels keep body sizing regardless of their semantic heading level. */
body .kdx-about-founders>h2,body .kdx-about-clients>h2,body .kdx-about-intro>h2,
body .kdx-founder-meta h3,body .kdx-contact-intro h1{font:400 var(--kdx-type-body)/var(--kdx-leading-body) var(--kdx-font-sans)}
body .index-labels,body .index-row,body .index-row>span,body .preview-copy h2,body .preview-copy p,
body .mobile-tile-meta,body .mobile-tile-subject,body .mobile-tile-link,body .footer-signup-status{font-size:var(--kdx-type-body);line-height:var(--kdx-leading-body)}
body .mobile-tile-description{font:italic var(--kdx-type-body)/var(--kdx-leading-body) var(--kdx-font-sans)}
body .preview-copy .preview-description{font-size:var(--kdx-type-body);line-height:var(--kdx-leading-body);font-style:italic}
body .mobile-tile h2,.kdx-services h2.kdx-service-summary{font:400 var(--kdx-type-h2)/1.15 var(--kdx-font-sans)}
body .mobile-slider-controls,body .mobile-slider-controls button{font:400 var(--kdx-type-body)/var(--kdx-leading-body) var(--kdx-font-sans)}
/* Subtitle: one globally editable treatment for image captions. */
body .subtitle,body .home-opening-subtitle,body .hover-preview figcaption,body .entry-picture figcaption,
.kdx-about-page .kdx-about-hero h1,.kdx-services .kdx-services-hero h1,
.kdx-contact .kdx-contact-image figcaption,body .mobile-tile-image .mobile-tile-caption{
 font:700 var(--kdx-type-subtitle)/var(--kdx-leading-display) var(--kdx-font-sans);
 color:var(--kdx-subtitle-color);-webkit-text-stroke:var(--kdx-subtitle-stroke) var(--kdx-subtitle-outline);paint-order:stroke fill;text-shadow:none;
}
/* Editorial content keeps its serif headline, using the same size scale. */
.kodex-article{--sans:var(--kdx-font-sans);--serif:var(--kdx-font-editorial);--small:var(--kdx-type-body);--body:var(--kdx-type-body);--headline:var(--kdx-type-h1)}
body .kodex-article .article-intro h1{font:400 var(--kdx-type-h1)/var(--kdx-leading-display) var(--kdx-font-editorial)}
body .article-body,body .article-author-note,body .article-byline{font:400 var(--kdx-type-body)/var(--kdx-leading-body) var(--kdx-font-sans)}
body .article-subtitle,body .article-body h2{font:400 var(--kdx-type-h2)/1.15 var(--kdx-font-sans)}
body .article-body h3{font:400 var(--kdx-type-h3)/var(--kdx-leading-body) var(--kdx-font-sans)}
body .article-body .wp-block-quote,body .article-body .wp-block-pullquote{font:400 var(--kdx-type-h2)/1.2 var(--kdx-font-sans)}
body .article-body .wp-block-quote cite,body .article-body .wp-block-pullquote cite{font:400 var(--kdx-type-body)/var(--kdx-leading-body) var(--kdx-font-sans)}
body .article-cta h2{font:400 var(--kdx-type-h2)/1.15 var(--kdx-font-editorial)}
body .article-cta a{font:400 var(--kdx-type-body)/var(--kdx-leading-body) var(--kdx-font-sans)}

@media(max-width:800px){
 body>.site-header .about{display:none}
 body.kdx-article-page>.site-header .about,body.single-kodex_article>.site-header .about,body.single-post>.site-header .about{display:none;transform:none!important}
}

.article-compact-index{display:none!important}
@media(min-width:801px){
 body.article-header-fixed>.site-header.article-header-compact{display:flex;justify-content:flex-end;align-items:center;min-height:0;height:auto;padding:12px var(--kdx-page-padding,1.3vw);gap:24px}
 body.article-header-fixed>.site-header.article-header-compact>.identity,body.article-header-fixed>.site-header.article-header-compact>.about,body.article-header-fixed>.site-header.article-header-compact>.desktop-index,body.article-header-fixed>.site-header.article-header-compact>.energy-switch-desktop{display:none!important}
 body.article-header-fixed>.site-header.article-header-compact .kdx-menu-toggle{display:block!important;position:static;order:2;margin:0;padding:0;align-self:auto}
 body.article-header-fixed>.site-header.article-header-compact #kdx-mobile-menu{display:none!important}
 body.article-header-fixed>.site-header.article-header-compact.kdx-menu-open #kdx-mobile-menu{display:flex!important;position:static;inset:auto;width:auto;max-width:none;min-width:0;margin:0;padding:0;order:1;flex-direction:row;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:24px;color:inherit;background:transparent}
 body.article-header-fixed>.site-header.article-header-compact #kdx-mobile-menu ul{display:contents}
 body.article-header-fixed>.site-header.article-header-compact #kdx-mobile-menu .energy-switch-mobile{display:flex!important;flex-direction:row;gap:10px}
 body.article-header-fixed>.site-header.article-header-compact .article-compact-index{display:block!important}
 .kodex-article .article-featured{position:fixed;top:var(--article-image-top,180px);bottom:auto;left:var(--margin);width:13vw;height:auto;max-height:max(100px,calc(100svh - var(--article-image-top,180px) - 20px));z-index:2}
 .kodex-article .article-featured img{display:block;width:100%;height:auto;max-height:max(100px,calc(100svh - var(--article-image-top,180px) - 20px));object-fit:contain;object-position:top left}
}
body .article-body .wp-block-quote,body .article-body .wp-block-pullquote{font:700 var(--kdx-type-h1)/var(--kdx-leading-display) var(--kdx-font-sans);color:#48ba55;-webkit-text-stroke:clamp(1.25px,.09vw,2px) #000;paint-order:fill stroke;text-shadow:none;letter-spacing:normal}
body .article-body .wp-block-quote p,body .article-body .wp-block-pullquote p{font:inherit;color:#48ba55;text-align:center}
body .article-body .wp-block-quote cite,body .article-body .wp-block-pullquote cite{font:400 var(--kdx-type-body)/var(--kdx-leading-body) var(--kdx-font-sans);color:inherit;-webkit-text-stroke:0}

/* Leave breathing room before the footer, including mobile browser controls. */
body .kdx-footer{margin-top:calc(80px + env(safe-area-inset-bottom,0px))}
body .article-author-note>h2,body .related-thinking>h2{font:400 var(--kdx-type-body)/var(--kdx-leading-body) var(--kdx-font-sans);text-align:left;margin:0 0 14px}
body .related-thinking{margin-left:var(--kdx-page-padding,14px);margin-right:var(--kdx-page-padding,14px)}
@media(max-width:800px){
 body .article-author-note,body .article-author-note p{font-style:italic}
 body .article-author-note>h2{font-style:normal}
 body .related-thinking .related-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;gap:14px;scrollbar-width:none;padding:0 0 8px}
 body .related-thinking .related-grid::-webkit-scrollbar{display:none}
 body .related-thinking .related-card{flex:0 0 88%;scroll-snap-align:start;min-width:0;padding:14px;background:transparent;color:inherit;border:1px solid currentColor}
 body .related-thinking .related-card-link{display:flex;flex-direction:column;gap:14px;height:100%;color:inherit;text-decoration:none;font:400 var(--kdx-type-body)/var(--kdx-leading-body) var(--kdx-font-sans)}
 body .related-thinking .related-meta{display:flex;justify-content:space-between;margin:0}
 body .related-thinking .related-card h3{font:inherit;margin:0}
 body .related-thinking .related-image{width:100%;aspect-ratio:4/3;margin:0;flex:none}
 body .related-thinking .related-link{margin-top:auto;font:inherit}
 body .related-thinking .related-card p{display:none}
}

body .article-signature{box-sizing:border-box;max-width:var(--reading-container,800px);margin:50px auto 0;padding:0 10px;font:italic var(--kdx-type-body)/var(--kdx-leading-body) var(--kdx-font-sans)}
body .article-signature p{margin:0}
@media(max-width:800px){
 body .article-body .wp-block-quote,body .article-body .wp-block-pullquote{font-size:24px}
 body .article-body,body .article-author-note,body .article-signature{box-sizing:border-box;width:100%;max-width:none;padding-left:14px;padding-right:14px}
 body .article-signature+.article-author-note{margin-top:64px}
 body .kdx-footer .footer-newsletter{gap:8px}
 body .related-thinking{margin-left:14px;margin-right:14px}
 body .related-thinking .related-grid{row-gap:50px;column-gap:16px}
 body .related-thinking .related-card{padding:0;border:0;background:transparent;color:inherit;flex-basis:88%}
 body .related-thinking .related-card-link{gap:0}
 body .related-thinking .related-image{order:-1;aspect-ratio:16/9;margin-bottom:2px}
 body .related-thinking .related-meta{display:block;text-transform:uppercase}
 body .related-thinking .related-type::after{content:", "}
 body .related-thinking .related-card h3{font-size:16px;line-height:1.2}
 body .related-thinking .related-link{align-self:flex-start;margin-top:0;font-style:italic}
}

body .related-thinking{margin-left:14px;margin-right:14px;margin-bottom:0;padding:0}
body .related-thinking .related-grid,body .related-thinking .related-card,body .related-thinking .related-card-link{padding:0}
body .related-thinking .related-image img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center}
body .article-signature+.article-author-note{margin-top:0;padding-top:0}
body .article-author-note p:first-child{margin-top:0}
body:has(.kodex-article) .kdx-footer{margin-top:120px}
@media(max-width:800px){
 body .kdx-footer{gap:40px 16px}
 body .related-thinking .related-image{width:100%;height:auto;aspect-ratio:16/9;position:relative;align-self:stretch}
 body .related-thinking .related-image img{position:absolute;inset:0}
}

/* Desktop related reading shares the mobile image-first card layout. */
@media(min-width:801px){
 body .related-thinking .related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 16px;align-items:start}
 body .related-thinking .related-card{min-width:0;border:0;background:transparent;color:inherit}
 body .related-thinking .related-card-link{display:flex;flex-direction:column;gap:0;color:inherit;text-decoration:none;font:400 var(--kdx-type-body)/var(--kdx-leading-body) var(--kdx-font-sans)}
 body .related-thinking .related-image{order:-1;position:relative;width:100%;height:auto;aspect-ratio:16/9;align-self:stretch;margin:0 0 2px;overflow:hidden}
 body .related-thinking .related-image img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center}
 body .related-thinking .related-meta{display:block;margin:0;text-transform:uppercase}
 body .related-thinking .related-type::after{content:", "}
 body .related-thinking .related-card h3{font:400 16px/1.2 var(--kdx-font-sans);text-align:left;margin:0}
 body .related-thinking .related-link{align-self:flex-start;margin:0;text-align:left;font:italic var(--kdx-type-body)/var(--kdx-leading-body) var(--kdx-font-sans)}
 body .related-thinking .related-card-link:hover .related-link{color:inherit}
}

body .mode-selector .energy-choice{opacity:1;color:inherit}
body .mode-selector .energy-choice[aria-pressed="true"]{opacity:1;color:#808080}
body .article-signature+.article-author-note{padding-top:1.24em}
@media(min-width:801px){
 body .kdx-footer,body:has(.kodex-article) .kdx-footer{margin-top:0}
 body.article-header-fixed>.site-header.article-header-compact>.identity{display:block!important;visibility:visible;pointer-events:auto;margin-right:auto;order:0}
 body .imprint-page{padding-left:25vw;padding-right:var(--kdx-page-padding,14px)}
 body .imprint-page .imprint-copy{width:100%;max-width:50vw;margin-left:0;margin-right:0}
 body.kdx-legal-preview .sub-main{padding-left:25vw;padding-right:25vw}
}
@media(max-width:800px){
 body .article-body .wp-block-quote,body .article-body .wp-block-pullquote{-webkit-text-stroke-width:.6px}
 body .article-author-note{margin-bottom:50px}
 body .kodex-article+.related-thinking{margin-top:0}
}

@media(min-width:801px){body .kodex-article.has-fixed-title .article-intro h1{z-index:61}body.article-header-fixed>.site-header.article-header-compact.kdx-menu-open{z-index:62}}

/* Article rhythm and mobile navigation refinements. */
body .article-author-note,body .article-author-note p{font-style:italic}

@media(min-width:801px){
 body .article-body .wp-block-quote,body .article-body .wp-block-pullquote{font-size:32px;-webkit-text-stroke-width:1px}
 body .article-signature{margin-top:100px}
 body .related-thinking .related-grid{padding-bottom:50px}
}
@media(max-width:800px){
 body .article-signature{margin-top:80px}
 body .article-author-note{margin-bottom:80px}
 body .kdx-footer,body:has(.kodex-article) .kdx-footer{margin-top:50px}
 body:has(.kdx-about-page) .kdx-footer{margin-top:0}
 body .kdx-contact .contact-submit{justify-self:start;align-self:start;text-align:left;margin-left:0;margin-right:0}
 body .site-header .kdx-menu-toggle,body .site-header.kdx-menu-open .kdx-menu-toggle{position:relative;inset:auto;align-self:start;margin:0;line-height:var(--kdx-leading-body);touch-action:manipulation}
 body .site-header .kdx-menu-toggle::after{content:"";position:absolute;width:44px;height:44px;top:50%;left:50%;transform:translate(-50%,-50%)}
 body .site-header.kdx-menu-open #kdx-mobile-menu,body>.site-header.kdx-menu-open #kdx-mobile-menu{position:absolute;top:var(--kdx-menu-inset,14px);left:var(--kdx-menu-inset,14px);right:calc(var(--kdx-menu-inset,14px) + 44px);bottom:auto;width:auto;margin:0;padding:0;align-items:baseline;line-height:var(--kdx-leading-body)}
}

.desktop-menu-index{display:none}
@media(min-width:801px){
 body .site-header>.desktop-index{display:none!important}
 body .site-header .kdx-menu-toggle{display:block!important}
 body .site-header #kdx-mobile-menu{display:none}
 body .site-header.kdx-menu-open #kdx-mobile-menu{display:flex;position:static;inset:auto;grid-column:3;grid-row:1;width:auto;margin:0;padding:0;justify-content:flex-start;gap:var(--kdx-nav-gap)}
 body .site-header .desktop-menu-index{display:block}
 body .site-header .mode-selector.energy-switch-desktop{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:baseline;gap:var(--kdx-nav-gap);white-space:nowrap}
 body.article-header-fixed>.site-header.article-header-compact>.energy-switch-desktop{display:flex!important;visibility:visible;pointer-events:auto;order:3;gap:var(--kdx-nav-gap);margin-left:var(--kdx-nav-gap)}
 body.article-header-fixed>.site-header.article-header-compact #kdx-mobile-menu .energy-switch-mobile{display:none!important}
 body.article-header-fixed>.site-header.article-header-compact.kdx-menu-open #kdx-mobile-menu{gap:var(--kdx-nav-gap)}
}

@media(min-width:801px){body.article-header-fixed>.site-header.article-header-compact .kdx-menu-toggle{order:1}body.article-header-fixed>.site-header.article-header-compact.kdx-menu-open #kdx-mobile-menu{order:2}}

@media(min-width:801px){body .site-header .mode-selector.energy-switch-desktop,body.article-header-fixed>.site-header.article-header-compact>.energy-switch-desktop{gap:calc(var(--kdx-nav-gap) / 2)}}

@media(min-width:801px){body .index-row.type-group-start{margin-top:.62em}}

@media(min-width:801px){body .index-row>span:nth-child(2){margin-right:30px}}

/* Keep the mobile header independent of the open navigation's contents. */
@media(max-width:800px){
 body .site-header .desktop-menu-index,body .site-header>.desktop-index{display:none!important}
 body .site-header.kdx-menu-open #kdx-mobile-menu,body>.site-header.kdx-menu-open #kdx-mobile-menu{display:flex;position:absolute;flex-direction:row;flex-wrap:nowrap;align-items:baseline;justify-content:space-between;gap:4px;min-width:0;white-space:nowrap}
 body .site-header.kdx-menu-open #kdx-mobile-menu ul{display:contents}
 body .site-header.kdx-menu-open #kdx-mobile-menu li,body .site-header.kdx-menu-open #kdx-mobile-menu a{white-space:nowrap;flex-shrink:0}
 body .site-header.kdx-menu-open #kdx-mobile-menu .energy-switch-mobile{display:flex;flex-direction:row;flex-wrap:nowrap;gap:.5em;white-space:nowrap;flex-shrink:0}
 body .index-stage .mobile-slider-track{flex:1 1 0px;min-height:0;align-items:stretch}
 body .index-stage .mobile-tile{height:100%;min-height:0;display:block}
 body .index-stage .mobile-tile-content{display:grid;height:100%;min-height:0;grid-template-rows:auto minmax(40px,1fr) auto auto;gap:14px}
 body .index-stage .mobile-tile-image{position:relative;align-self:stretch;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;margin:0;overflow:hidden}
 body .index-stage .mobile-tile-image img{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;max-height:none;max-width:none;object-fit:cover}
 body .index-stage .mobile-tile.no-tile-image .mobile-tile-content{grid-template-rows:auto minmax(0,1fr) auto}
}

@media(max-width:800px){
 body .site-header,body .site-header.kdx-menu-open{grid-template-columns:minmax(0,1fr);column-gap:0}
 body .site-header .kdx-mobile-header-row{position:relative;grid-column:1/-1;grid-row:1;display:flex;align-items:baseline;justify-content:space-between;min-width:0;width:100%;height:calc(var(--kdx-type-body) * var(--kdx-leading-body));line-height:var(--kdx-leading-body)}
 body .site-header .kdx-mobile-header-row>.identity{margin:0;flex:none}
 body .site-header .kdx-mobile-header-row>.desktop-index,body .site-header .kdx-mobile-header-row>.energy-switch-desktop{display:none!important}
 body .site-header .kdx-mobile-header-row>.kdx-menu-toggle{position:relative;inset:auto;margin:0 0 0 auto;flex:none;align-self:baseline;padding:0}
 body .site-header.kdx-menu-open .kdx-mobile-header-row>#kdx-mobile-menu{position:absolute!important;top:0!important;left:0!important;right:36px!important;bottom:auto!important;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:baseline;justify-content:space-between;width:auto!important;min-width:0;margin:0!important;padding:0!important;gap:4px;line-height:inherit;transform:none}
 body .site-header:not(.kdx-menu-open) .kdx-mobile-header-row>#kdx-mobile-menu{display:none}
 body .index-stage{height:100dvh;min-height:0}
 body .index-stage .mobile-slider{bottom:env(safe-area-inset-bottom,0px)}
 body .index-stage .mobile-slider-controls{margin-top:auto;min-height:44px}
}

@media(max-width:800px){body .index-stage .mobile-slider{bottom:0}}

@media(min-width:801px){body .site-header .about-mobile{display:none!important}}
@media(max-width:800px){
 body .site-header .about-desktop{display:none!important}
 body .index-stage{height:100svh}
 body .index-stage .mobile-slider{bottom:env(safe-area-inset-bottom,0px)}
 body .index-stage .mobile-tile-content,body .index-stage .mobile-tile-image,body .index-stage .mobile-tile-image img{transform:none!important;scale:none!important;animation:none!important;transition:none!important}
}

@media(max-width:800px){
 html:has(.kodex-article),body:has(.kodex-article){max-width:100%;overflow-x:clip;overscroll-behavior-x:none}
 body:has(.kodex-article)>main{min-width:0;max-width:100%;overflow-x:clip}
 body .kodex-article{min-width:0;max-width:100%}
 body .related-thinking .related-grid{max-width:100%;overscroll-behavior-x:none}
}

@media(min-width:801px){body .site-header:not(.article-header-compact)>.about-desktop{display:block;visibility:visible}}

@media(max-width:800px){
 body .index-stage .mobile-slider{row-gap:0px}
 body .index-stage .mobile-slider-filters{margin-bottom:12px}
 body .index-stage .mobile-slider-controls{height:24px;min-height:24px;flex:0 0 24px;margin:0;padding:0;align-items:center}
 body .index-stage .mobile-slider-controls button{position:relative;height:24px;min-height:24px;line-height:24px;margin:0;padding:0;touch-action:manipulation}
 body .index-stage .mobile-slider-controls button::after{content:"";position:absolute;inset:-6px 0 -14px;min-width:44px}
}

/* Fixed mobile spacing between the identity row and header introduction. */
@media(max-width:800px){
 body .site-header,body .site-header.kdx-menu-open,body .index-stage .site-header{row-gap:10px}
}

/* Temporarily omit mobile slider descriptions without removing their content. */
@media(max-width:800px){
 body .index-stage .mobile-tile-description{display:none}
 body .index-stage .mobile-tile-content{grid-template-rows:auto minmax(40px,1fr) auto}
 body .index-stage .mobile-tile.no-tile-image .mobile-tile-content{grid-template-rows:auto minmax(0,1fr)}
}

/* References use a vertical reading list when selected on mobile. */
@media(max-width:800px){
 body .index-stage .mobile-slider.is-reference-list .mobile-slider-track{
  display:block;overflow-x:hidden;overflow-y:auto;scroll-snap-type:none;touch-action:pan-y;overscroll-behavior-y:auto;
 }
 body .index-stage .mobile-slider.is-reference-list .mobile-slider-controls{display:none}
 .mobile-reference-item{display:block;margin:0;padding:0;border-top:1.5px solid #3d3d3d;min-width:0}
 .mobile-reference-item:last-child{border-bottom:1.5px solid #3d3d3d;margin-bottom:14px}
 .mobile-reference-summary{display:grid;grid-template-columns:minmax(0,1fr) 16px;align-items:baseline;gap:4px 16px;padding:14px 0;min-height:48px;list-style:none;cursor:pointer;font:inherit}
 .mobile-reference-summary::-webkit-details-marker{display:none}
 .mobile-reference-summary::marker{content:''}
 .mobile-reference-meta{grid-column:1;grid-row:1;text-align:left}
 .mobile-reference-headline{grid-column:1;grid-row:2;font:400 var(--kdx-type-h2)/1.15 var(--kdx-font-sans);overflow-wrap:anywhere}
 .mobile-reference-marker{grid-column:2;grid-row:1 / 3;align-self:center;justify-self:center;text-align:center;font:inherit}
 .mobile-reference-description{font:inherit;margin:0;padding:0 0 20px 0}

}

/* Keep scrolling available without visible scrollbar tracks or thumbs. */
*,*::before,*::after{scrollbar-width:none}
*::-webkit-scrollbar{display:none;width:0;height:0}

/* Image subtitles scale with the related card, using the shared green aesthetic. */
body .related-thinking .related-image{container-type:inline-size}
body .related-thinking .related-image-caption{position:absolute;z-index:1;left:5%;bottom:5%;width:90%;text-align:center;font:700 clamp(12px,3cqw,20px)/var(--kdx-leading-display) var(--kdx-font-sans);color:var(--kdx-subtitle-color);-webkit-text-stroke:.5px var(--kdx-subtitle-outline);paint-order:stroke fill;pointer-events:none}

body p{hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:6 3 3;overflow-wrap:break-word;word-break:normal}
body .kdx-service-copy p,body .kdx-services-intro p,body .kdx-services-close p{text-align:justify;text-align-last:left}

body .article-signature .article-imagery-credit{display:none}

/* Match full-size page captions and article pull quotes to the article image caption. */
:root{--kdx-page-caption-size:calc(var(--kdx-type-subtitle) * .75)}
body .kdx-about-page .kdx-about-hero h1,
body .kdx-services .kdx-services-hero h1,
body .article-body .wp-block-quote,
body .article-body .wp-block-pullquote{
 font:700 var(--kdx-page-caption-size)/var(--kdx-leading-display) var(--kdx-font-sans);
 color:var(--kdx-subtitle-color);-webkit-text-stroke:calc(var(--kdx-subtitle-stroke) * .75) var(--kdx-subtitle-outline);paint-order:stroke fill;
}

@media(max-width:800px){.mobile-reference-learn{display:block;margin:0;padding:0 0 20px;font:inherit;text-decoration:underline;text-underline-offset:3px}}

/* Mobile headers use only the identity and menu; no introduction row. */
@media(max-width:800px){
 body .site-header .about,body .site-header .about-mobile,body .site-header .about-desktop{display:none!important}
 body .site-header,body .site-header.kdx-menu-open{row-gap:0}
}

@media(max-width:800px){
 body .imprint-page,body .content-page,body.kdx-legal-preview .sub-main{box-sizing:border-box;width:100%;max-width:none;margin-left:0;margin-right:0;padding-left:var(--kdx-page-padding,14px);padding-right:var(--kdx-page-padding,14px)}
 body .imprint-page .imprint-copy,body .content-page .content-body{box-sizing:border-box;width:100%;max-width:none;margin-left:0;margin-right:0;padding-left:0;padding-right:0}
 body .index-stage .mobile-tile-image .mobile-tile-caption{transform:none;text-align:center;margin-inline:0;font-size:var(--kdx-page-caption-size);line-height:var(--kdx-leading-display);-webkit-text-stroke:calc(var(--kdx-subtitle-stroke) * .75) var(--kdx-subtitle-outline);paint-order:stroke fill}
}

@media(max-width:800px){
 html,body{overflow-x:clip}
 html.newsletter-editing{scroll-snap-type:none!important;scroll-behavior:auto!important}
 body .footer-signup input[type="email"]{font-size:16px;scroll-margin-block:60px}
 body .kodex-article .article-featured{position:relative;inset:auto;aspect-ratio:9/16;height:auto;max-height:none;overflow:hidden}
 body .kodex-article .article-featured img{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;object-fit:cover}
}

body .kdx-services-intro h2.kdx-service-summary{margin:0 0 24px;text-align:left;hyphens:auto}

/* Text-first About and Services openings: equal vertical breathing room. */
body:has(.kdx-about-page),body:has(.kdx-services){--text-opening-header:100px}
body:has(.kdx-about-page)>.site-header,body:has(.kdx-services)>.site-header{position:fixed!important;top:0;left:0;width:100%;z-index:60}
body .kdx-about-page,body .kdx-services{margin-top:0;padding-top:0}
body .kdx-about-intro,body .kdx-services-intro{
 box-sizing:border-box;min-height:100svh;
 padding-top:max(100px,var(--text-opening-header));padding-bottom:max(100px,var(--text-opening-header));
 align-content:center;align-items:center;
}
@media(max-width:800px){
 body .kdx-about-intro,body .kdx-services-intro{padding-top:80px;padding-bottom:80px}
}

/* Mobile text begins immediately after the header's normal page padding. */
@media(max-width:800px){
 body:has(.kdx-about-page)>.site-header,body:has(.kdx-services)>.site-header{
  position:sticky!important;top:0;margin-bottom:0;
 }
 body .kdx-about-intro,body .kdx-services-intro{
  min-height:0;padding-top:0;align-content:start;align-items:start;
 }
}

/* Keep image captions inset consistently, independently of image proportions. */
body :is(.article-opening-caption,.landing-caption,.related-image-caption,.mobile-tile-caption,.home-opening-subtitle),
body .article-featured figcaption,body .entry-picture figcaption,body .hover-preview figcaption{
 left:10%!important;right:auto!important;width:80%!important;max-width:80%!important;transform:none;
}

/* Let the navigation take its actual width; copyright gets the remaining room. */
@media(max-width:800px){
 body .kdx-footer{grid-template-columns:max-content minmax(0,1fr)}
 body .kdx-footer>nav{width:max-content}
 body .kdx-footer .footer-copyright{min-width:0;justify-self:end;width:max-content;max-width:100%}
}

/* Hide the homepage About panel and hero image captions without deleting content. */
body .landing-about{display:none!important}
@media(min-width:801px){body .home-short-about{display:none!important}}
body .landing-hero .landing-caption,
body .home-opening-subtitle-layer{display:none!important}

@media(max-width:800px){
 body .footer-signup input[type="email"]::placeholder{font-size:var(--kdx-type-body);font-family:var(--kdx-font-sans)}
}

body .index-stage .mobile-slider-controls button{font:400 20px/24px var(--kdx-font-sans)}

/* Light-only navigation and homepage logo. */
body .site-header .about,body .energy-switch,body .energy-switch-desktop,body .energy-switch-mobile{display:none!important}
.home-logo{position:absolute;z-index:110;top:var(--kdx-page-padding,14px);left:var(--kdx-page-padding,14px);right:var(--kdx-page-padding,14px);height:calc(100svh / 12);padding:0;border:0;background:transparent;color:#fff;cursor:pointer}
.home-logo[hidden]{display:none}
.home-logo img{display:block;width:100%;height:100%;object-fit:fill;object-position:left top}
@media(max-width:800px){body.home-logo-active .site-header{visibility:hidden!important;pointer-events:none}}
body.home-logo-active .site-header{background:transparent!important;color:#fff!important}
body.home-logo-active .site-header #kdx-mobile-menu{background:transparent!important}
body .landing-reference-row,body .landing-reference-row *{cursor:default}
body .landing-work-contact,body .landing-work-contact a{color:#000}
/* Normal paint order keeps the one-pixel outline centred on each glyph edge. */
body :is(.subtitle,.landing-caption,.home-opening-subtitle,.article-opening-caption,.mobile-tile-caption,.related-image-caption),
body .article-featured figcaption,body .entry-picture figcaption,body .hover-preview figcaption,
body .article-body :is(.wp-block-quote,.wp-block-pullquote){-webkit-text-stroke-width:min(.5px,.016667em)!important;paint-order:normal!important}
body:has(.kodex-article) .site-header,body:has(.kodex-article) .site-header.kdx-menu-open,
body:has(.kodex-article) .site-header #kdx-mobile-menu{background:transparent!important;box-shadow:none!important}


body .site-header .identity,body .site-header .identity:hover{font-style:normal!important}
@media(min-width:801px){body .site-header.kdx-menu-open .kdx-menu-toggle,body .site-header.kdx-menu-open .kdx-menu-word{font-style:italic}}

/* The mobile header lives outside the index stacking context. */
@media(max-width:800px){
 body.home-opening-experiment>.site-header{position:fixed!important;inset:0 0 auto!important;z-index:120;width:100%;padding:calc(14px + env(safe-area-inset-top,0px)) 14px 0;background:#fff;color:#111}
 body.home-opening-experiment.home-logo-active>.site-header{background:transparent!important;color:#fff!important}
 body.home-opening-experiment>.site-header a:focus:not(:focus-visible){outline:none}
}
body .site-header a:focus-visible,body .site-header button:focus-visible{outline:1px solid currentColor;outline-offset:3px}
@media(min-width:801px){
 body.desktop-landing-active .landing-header-slot{position:sticky;top:0;height:0;z-index:120}
 body.desktop-landing-active .landing-header-slot .site-header{position:relative!important;inset:auto!important;width:100%;visibility:visible!important;pointer-events:auto;background:#fff!important;color:#111!important}
 body.desktop-landing-active :is(.landing-references,.landing-articles){position:relative;z-index:111;background:#fff}
}

body .landing-reference-popup:not([hidden]){z-index:130}
body .home-opening .home-logo img{position:static!important;inset:auto!important;width:100%!important;height:100%!important;object-fit:fill!important;transform:none!important}
@media(max-width:800px){
 body.home-opening-experiment .home-opening{height:100svh!important;min-height:0!important;padding-bottom:max(14px,env(safe-area-inset-bottom,0px));box-sizing:border-box;background:#fff}
 body.home-opening-experiment .home-opening .landing-hero{height:100%!important;min-height:0!important}
 body .home-opening .landing-hero-controls{display:none!important}
 /* Work uses the page scroll, not a second vertical scroll container. */
 html.mobile-home-native:has(body.home-opening-experiment){scroll-snap-type:y mandatory}
 body.home-opening-experiment .index-stage:has(.is-reference-list){height:auto;min-height:100svh}
 body .index-stage .mobile-slider.is-reference-list{height:auto;min-height:calc(100svh - var(--mobile-header-height,44px) - 26px)}
 body .index-stage .mobile-slider.is-reference-list .mobile-slider-track{flex:0 0 auto;height:auto;max-height:none;overflow:visible;touch-action:pan-y}
 body .index-stage:has(.is-reference-list) .mobile-reference-logos{margin-top:auto;padding-top:14px;box-sizing:content-box}
}


@media(min-width:801px){
 body .landing-hero .landing-hero-controls{align-items:center;height:var(--hero-caption-height,35px)}
 body .landing-hero .landing-hero-controls button{display:flex;align-items:center;padding-top:0;padding-bottom:0}
 body .landing-hero .landing-hero-controls button:last-of-type{justify-content:flex-end}
}


/* Display-only hero mark; Work contact remains available in the content source. */
body .home-logo{pointer-events:none;cursor:default}
body .landing-work-contact{display:none}
@media(max-width:800px){
 body .index-stage:has(.is-reference-list) .mobile-reference-logos{
  position:sticky;bottom:env(safe-area-inset-bottom,0px);z-index:3;
  margin-top:auto;padding-top:14px;padding-bottom:14px;background:#fff;
 }
}

/* Mobile opening: 66% image and centered introduction share one screen. */
@media(max-width:800px){
 body.home-opening-experiment .home-opening{
  display:grid;grid-template-rows:auto minmax(min-content,1fr);height:auto!important;min-height:100svh!important;
  padding:0;background:#fff;
 }
 body.home-opening-experiment .home-opening .landing-hero{
  flex:none;width:100%;height:66svh!important;min-height:0!important;aspect-ratio:auto;
 }
 body.home-opening-experiment .home-opening .home-short-about{
  flex:1 0 auto;width:100%;height:auto;min-height:34svh!important;
  padding:max(24px,env(safe-area-inset-bottom,0px)) 14px;
  display:flex;align-items:center;justify-content:center;scroll-snap-align:none;
 }
 body.home-opening-experiment .home-opening .home-short-about[hidden]{display:none}
 body.home-opening-experiment .home-short-about-copy{width:80vw;max-width:100%;text-align:center}
 body.home-opening-experiment .home-short-about-copy p,
 body.home-opening-experiment .home-short-about-copy p:first-child{
  font:400 var(--kdx-type-body)/var(--kdx-leading-body) var(--kdx-font-sans);
  text-align:center;-webkit-hyphens:none;hyphens:none;
 }
}
