/* EMKAN v123 — unified delivery system */
:root{--emkan-content-width:952px;--emkan-card-size:192px;--emkan-stagger-duration:.72s;--emkan-stagger-step:70ms}

/* Unified public width: Architecture/Civil geometry is the reference. */
html body.emkan-education-scope #contentApp.v49-main,
html body.emkan-education-scope main.v49-main,
html body.emkan-education-scope .v49-reading,
html body.emkan-education-scope .v49-detail,
html body.v115-course-detail #contentApp#contentApp{
  width:min(var(--emkan-content-width),calc(100% - 48px))!important;
  max-width:var(--emkan-content-width)!important;
  margin-inline:auto!important;
  padding-inline:0!important;
  box-sizing:border-box!important;
}
html body.v115-course-detail #contentApp#contentApp .v69-content-detail-layout,
html body.v115-course-detail #contentApp#contentApp .v69-content-detail-body,
html body.v115-course-detail #contentApp#contentApp article.v86-course-detail{width:100%!important;max-width:none!important;margin:0!important;padding-inline:0!important}
html body.v115-course-detail #contentApp#contentApp .v69-content-search-rail{display:none!important}
html body.v115-course-detail #contentApp#contentApp .v115-course-overview{
  width:100%!important;max-width:none!important;
  grid-template-columns:minmax(0,648px) minmax(0,240px)!important;
  grid-template-areas:'facts media'!important;
  justify-content:space-between!important;gap:32px!important;
}
html[lang=en] body.v115-course-detail #contentApp#contentApp .v115-course-overview{grid-template-areas:'media facts'!important}
html body.v115-course-detail #contentApp#contentApp .v115-course-media{width:240px!important;max-width:240px!important;justify-self:end!important}
html body.v115-course-detail #contentApp#contentApp .v115-course-facts{max-width:648px!important}
html body.v115-course-detail #contentApp#contentApp .learning-workspace{
  width:100%!important;max-width:none!important;margin:0!important;
}
@media(min-width:901px){
  html body.v115-course-detail #contentApp#contentApp .learning-workspace,
  html body.emkan-education-scope #contentApp#contentApp .learning-workspace{
    display:grid!important;grid-template-columns:minmax(0,648px) 176px!important;
    grid-template-areas:'panels tree'!important;justify-content:space-between!important;
    gap:0!important;align-items:start!important;direction:ltr!important;
  }
  html[lang=en] body.v115-course-detail #contentApp#contentApp .learning-workspace,
  html[lang=en] body.emkan-education-scope #contentApp#contentApp .learning-workspace{
    grid-template-columns:176px minmax(0,648px)!important;grid-template-areas:'tree panels'!important;
  }
  html body.v115-course-detail #contentApp#contentApp .v115-tree-side,
  html body.emkan-education-scope #contentApp#contentApp .learning-side{
    width:176px!important;max-width:176px!important;position:sticky!important;top:92px!important;
  }
}
@media(max-width:900px){
  html body.emkan-education-scope #contentApp.v49-main,
  html body.v115-course-detail #contentApp#contentApp{width:min(100% - 28px,var(--emkan-content-width))!important}
  html body.v115-course-detail #contentApp#contentApp .v115-course-overview{grid-template-columns:1fr!important;grid-template-areas:'media' 'facts'!important;gap:22px!important}
  html body.v115-course-detail #contentApp#contentApp .v115-course-media{width:min(100%,320px)!important;max-width:320px!important;justify-self:center!important}
  html body.v115-course-detail #contentApp#contentApp .v115-tree-side{display:none!important}
}

/* Inline links: typographic emphasis only, never underline. */
.emkan-inline-link,.company-copy-main a,.practice-detail-text a,.project-description a,.project-about a,.project-copy a,.research-entry-body a,.v49-course-detail a[data-emkan-inline-link],.emkan-rich-copy a{
  color:inherit;text-decoration:none!important;border:0!important;box-shadow:none!important;
  font-weight:650;transition:color .18s ease,opacity .18s ease;
}
.emkan-inline-link:is(:hover,:focus-visible,:active),.company-copy-main a:is(:hover,:focus-visible,:active),.practice-detail-text a:is(:hover,:focus-visible,:active),.project-description a:is(:hover,:focus-visible,:active),.project-about a:is(:hover,:focus-visible,:active),.project-copy a:is(:hover,:focus-visible,:active),.research-entry-body a:is(:hover,:focus-visible,:active),.emkan-rich-copy a:is(:hover,:focus-visible,:active){color:var(--hover-accent,#56869b)!important}
@media(hover:none){.emkan-inline-link:active,.emkan-rich-copy a:active{color:var(--hover-accent,#56869b)!important;opacity:.78}}

/* Article footer compact editorial metadata. */
#articleFooter{border-top:0!important;padding-top:0!important;gap:14px!important}
#articleFooter .article-tags,.article-tags{display:block!important;font-size:.82em!important;line-height:1.95!important;color:var(--muted,#6d7378)!important}
#articleFooter .article-tags::before,.article-tags::before{content:attr(data-keyword-label);display:inline;color:var(--fg,#101923);font-weight:650;margin-inline-end:5px}
#articleFooter .article-tags a,.article-tags a{display:inline!important;color:var(--muted,#6d7378)!important;font-size:1em!important;text-decoration:none!important;border:0!important}
#articleFooter .article-tags a:not(:last-child)::after,.article-tags a:not(:last-child)::after{content:', ';color:var(--muted,#6d7378)!important;font-weight:400}
#articleFooter .article-author,.article-author{margin:0!important;padding:11px 0!important;border-top:1px solid var(--line,#ccd0d5)!important;border-bottom:1px solid var(--line,#ccd0d5)!important;font-size:.78em!important;color:var(--muted,#6d7378)!important}

/* Team: one geometry, monochrome to color, no overlay/group label. */
html body .people-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:24px 18px!important}
html body .person-card,html body .person-card.is-senior{grid-column:auto!important;display:block!important}
html body .person-card-media,html body .person-card.is-senior .person-card-media{aspect-ratio:1/1!important;width:100%!important;height:auto!important;border:0!important;overflow:hidden!important}
html body .person-card-media img,html body .person-card.is-senior .person-card-media img{width:100%!important;height:100%!important;object-fit:cover!important;filter:grayscale(100%)!important;opacity:.88!important;transform:scale(1.005)!important;transition:filter .62s ease,opacity .4s ease,transform .68s cubic-bezier(.22,.61,.36,1)!important}
html body .person-card:is(:hover,:focus-within) .person-card-media img{filter:grayscale(0%)!important;opacity:1!important;transform:scale(1)!important}
html body .person-card-bio,html body .person-card-group,html body .person-card-index{display:none!important}
html body .person-card-caption{display:block!important;padding-top:10px!important}
html body .person-card-name{font-size:11.5px!important;line-height:1.7!important;font-weight:560!important}
html body .person-card-role{font-size:9px!important;line-height:1.7!important;margin-top:2px!important}
html body .person-card-name-link{text-decoration:none!important;border:0!important;color:inherit!important}
html body .person-card-name-link:is(:hover,:focus-visible){color:var(--hover-accent,#56869b)!important}
@media(max-width:900px){html body .people-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:520px){html body .people-grid{gap:18px 12px!important}}

/* Category/filter vertical rhythm: Architecture is the reference. */
html body :is(.category-list,.v49-filter-list,.article-category-list,.podcast-topics,.podcast-seasons,.project-category-list,.civil-category-list){gap:0!important;row-gap:0!important}
html body :is(.category-list button,.category-list a,.v49-filter-option,.article-category-choice,.podcast-topics button,.podcast-seasons button,.project-category-list button,.civil-category-list button){padding-block:7px!important;margin-block:0!important;min-height:0!important;line-height:1.7!important}

/* Navigation slightly wider for search without touching page content geometry. */
@media(min-width:1181px){
  html body .site-header{max-width:760px!important}
  html body .nav-list{max-width:850px!important;gap:clamp(10px,1.2vw,18px)!important}
  html body .primary-nav{padding-inline:54px!important}
}
.emkan-search-nav-link{display:inline-flex!important;align-items:center;gap:6px!important}
.emkan-search-nav-link svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round}

/* Universal minimal media controls. */
.emkan-media-shell{width:100%;max-width:100%;position:relative;min-width:0}
.emkan-media-shell video{display:block;width:100%;height:auto;background:#000}
.emkan-media-shell audio.emkan-media-engine{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.emkan-media-controls{
  display:grid!important;grid-template-columns:auto auto minmax(70px,1fr) auto auto auto!important;
}
.podcast-audio-line,.fullscreen-video-shell .video-controls,.project-video-modal .video-controls{
  display:grid!important;grid-template-columns:auto auto minmax(70px,1fr) auto auto!important;
  align-items:center!important;gap:8px!important;width:100%!important;box-sizing:border-box!important;
  min-height:34px!important;padding:5px 0!important;border:0!important;border-top:1px solid var(--line,#ccd0d5)!important;
  background:transparent!important;color:var(--fg,#101923)!important;box-shadow:none!important;
}
.emkan-media-shell.emkan-media-video .emkan-media-controls{position:absolute;left:0;right:0;bottom:0;padding:7px 10px!important;background:linear-gradient(to top,rgba(0,0,0,.54),transparent)!important;border-top:0!important;color:#fff!important;opacity:.9;transition:opacity .18s ease}
.emkan-media-shell.emkan-media-video:not(:hover):not(:focus-within) .emkan-media-controls{opacity:.66}
.emkan-media-button,.podcast-play-toggle,.emkan-media-speed,.emkan-media-fullscreen{
  appearance:none!important;border:0!important;background:transparent!important;color:inherit!important;
  padding:0!important;margin:0!important;min-width:24px!important;height:24px!important;font:500 10px/1 Arial,sans-serif!important;cursor:pointer!important;box-shadow:none!important;border-radius:0!important;
}
.emkan-media-time,.podcast-time{font-family:Arial,sans-serif!important;font-size:8px!important;font-variant-numeric:tabular-nums;white-space:nowrap;opacity:.8}
.emkan-media-seek,.podcast-seek{
  appearance:none!important;-webkit-appearance:none!important;width:100%!important;height:14px!important;margin:0!important;padding:0!important;background:transparent!important;cursor:pointer!important;border:0!important;outline:0!important;
}
.emkan-media-seek::-webkit-slider-runnable-track,.podcast-seek::-webkit-slider-runnable-track{height:1px!important;background:currentColor!important;opacity:.42}
.emkan-media-seek::-moz-range-track,.podcast-seek::-moz-range-track{height:1px!important;background:currentColor!important;opacity:.42;border:0}
.emkan-media-seek::-webkit-slider-thumb,.podcast-seek::-webkit-slider-thumb{-webkit-appearance:none!important;width:7px!important;height:7px!important;border-radius:50%!important;background:currentColor!important;border:0!important;margin-top:-3px!important}
.emkan-media-seek::-moz-range-thumb,.podcast-seek::-moz-range-thumb{width:7px!important;height:7px!important;border-radius:50%!important;background:currentColor!important;border:0!important}
.podcast-speed{appearance:none!important;border:0!important;background:transparent!important;color:inherit!important;font:500 9px/1 Arial,sans-serif!important;min-width:30px!important;text-align:center!important;padding:0!important}
button.podcast-speed{cursor:pointer!important}
@media(max-width:560px){
  .emkan-media-controls{grid-template-columns:auto auto minmax(50px,1fr) auto auto!important;gap:6px!important}
  .podcast-audio-line{grid-template-columns:auto auto minmax(50px,1fr) auto!important;gap:6px!important}
  .emkan-media-controls .emkan-media-duration,.podcast-audio-line [data-duration]{display:none!important}
  .emkan-media-time,.podcast-time{font-size:7.5px!important}
}

/* Unified stagger entrance for cover/card systems. */
.emkan-stagger-card{opacity:0!important;transform:translateY(8px)!important;animation:emkanV123CardIn var(--emkan-stagger-duration) cubic-bezier(.22,.61,.36,1) forwards!important;animation-delay:calc(var(--emkan-stagger-index,0) * var(--emkan-stagger-step))!important}
@keyframes emkanV123CardIn{to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.emkan-stagger-card{animation:none!important;opacity:1!important;transform:none!important}}

/* Adaptive centered cover grids: 3, 4 or any count remains centered. */
html body .category-grid,html body .category-grid.category-grid--five{
  width:min(876px,100%)!important;display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(0,var(--emkan-card-size)))!important;
  justify-content:center!important;justify-items:center!important;gap:32px 36px!important;grid-auto-rows:auto!important;
}
html body .category-grid .category-card,html body .category-grid.category-grid--five .category-card{width:var(--emkan-card-size)!important;height:auto!important;aspect-ratio:auto!important}
@media(max-width:700px){html body .category-grid,html body .category-grid.category-grid--five{grid-template-columns:repeat(auto-fit,minmax(0,min(192px,calc(50vw - 28px))))!important;gap:14px!important}}
@media(max-width:430px){html body .category-grid,html body .category-grid.category-grid--five{grid-template-columns:minmax(0,192px)!important}}

/* Search page */
.emkan-search-main{width:min(var(--emkan-content-width),calc(100% - 48px));margin:0 auto;padding:clamp(62px,9vh,104px) 0 80px}
.emkan-search-head{border-bottom:1px solid var(--line,#ccd0d5);padding-bottom:16px}
.emkan-search-head h1{margin:0;font-size:clamp(17px,1.8vw,24px);font-weight:520}
.emkan-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;margin-top:28px;border-bottom:1px solid var(--line,#ccd0d5)}
.emkan-search-input{border:0!important;background:transparent!important;color:var(--fg,#101923)!important;padding:10px 0!important;font:inherit!important;font-size:14px!important;outline:0!important}
.emkan-search-submit{border:0;background:transparent;color:var(--fg);padding:10px 0;cursor:pointer;font-size:10px}.emkan-search-submit:hover{color:var(--hover-accent)}
.emkan-search-filters{display:flex;flex-wrap:wrap;gap:0 18px;padding:16px 0;border-bottom:1px solid var(--line,#ccd0d5)}
.emkan-search-filter{border:0;background:transparent;color:var(--category-muted,#767d82);padding:4px 0;cursor:pointer;font-size:9px}.emkan-search-filter.is-active,.emkan-search-filter:hover{color:var(--hover-accent,#56869b)}
.emkan-search-results{display:grid}.emkan-search-result{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:18px;align-items:start;padding:18px 0;border-bottom:1px solid var(--line,#ccd0d5);color:inherit;text-decoration:none}.emkan-search-result-type{font-size:8px;color:var(--category-muted);text-transform:uppercase;letter-spacing:.05em}.emkan-search-result h2{margin:0;font-size:12px;font-weight:560;line-height:1.8}.emkan-search-result p{margin:4px 0 0;font-size:9.5px;line-height:1.9;color:var(--category-muted)}.emkan-search-arrow{font-family:Arial;font-size:12px}.emkan-search-result:hover h2,.emkan-search-result:focus-visible h2{color:var(--hover-accent)}.emkan-search-empty{padding:28px 0;font-size:10px;color:var(--category-muted)}
@media(max-width:700px){.emkan-search-main{width:min(100% - 28px,var(--emkan-content-width));padding-top:46px}.emkan-search-result{grid-template-columns:1fr auto;gap:8px}.emkan-search-result-type{grid-column:1/-1}.emkan-search-result p{grid-column:1/-1}}

/* Member profile */
.emkan-member-main{width:min(var(--emkan-content-width),calc(100% - 48px));margin:0 auto;padding:clamp(58px,8vh,96px) 0 80px}
.emkan-member-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(36px,6vw,78px);align-items:start}.emkan-member-photo{aspect-ratio:1;overflow:hidden}.emkan-member-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%);transition:filter .6s ease}.emkan-member-photo:hover img{filter:grayscale(0)}.emkan-member-copy h1{margin:0;font-size:clamp(18px,2vw,28px);font-weight:540}.emkan-member-role{margin:5px 0 24px;color:var(--category-muted);font-size:10px}.emkan-member-bio{font-size:12px;line-height:2.15;white-space:pre-line;text-align:justify}.emkan-member-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px;padding-top:16px;border-top:1px solid var(--line)}.emkan-member-actions a{font-size:9px;color:inherit;text-decoration:none}.emkan-member-actions a:hover{color:var(--hover-accent)}
@media(max-width:700px){.emkan-member-main{width:min(100% - 28px,var(--emkan-content-width));padding-top:44px}.emkan-member-grid{grid-template-columns:1fr}.emkan-member-photo{width:min(100%,300px);margin-inline:auto}}

/* Shared admin enhancement */
.emkan-v123-admin-card{margin-top:18px;padding-top:18px;border-top:1px solid var(--line,#ccd0d5)}
.emkan-v123-language-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.emkan-v123-language-grid label{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:36px;border-bottom:1px solid var(--line,#ccd0d5);font-size:10px}
.emkan-v123-rule-row{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:10px;align-items:end;padding:12px 0;border-bottom:1px solid var(--line,#ccd0d5)}
.emkan-v123-rule-langs{display:flex;gap:8px}.emkan-v123-rule-langs label{font-size:9px;display:flex;align-items:center;gap:4px}.emkan-v123-help{font-size:9px;line-height:1.9;color:var(--muted,#6d7378)}
@media(max-width:760px){.emkan-v123-rule-row{grid-template-columns:1fr}.emkan-v123-language-grid{grid-template-columns:1fr}}
/* Existing project video controls keep their original actions, but use the same thin line language. */
.fullscreen-video-shell .video-controls,.project-video-modal .video-controls{grid-template-columns:auto minmax(70px,1fr)!important;gap:10px!important;padding:6px 0!important}
.fullscreen-video-shell .video-control-buttons,.project-video-modal .video-control-buttons{display:flex!important;align-items:center!important;gap:5px!important}
.fullscreen-video-shell .video-control-buttons button,.project-video-modal .video-control-buttons button{appearance:none!important;border:0!important;background:transparent!important;color:inherit!important;width:22px!important;height:22px!important;padding:3px!important;box-shadow:none!important;border-radius:0!important}
.fullscreen-video-shell .video-control-buttons svg,.project-video-modal .video-control-buttons svg{width:13px!important;height:13px!important}
.fullscreen-video-shell .video-seek,.project-video-modal .video-seek{appearance:none!important;-webkit-appearance:none!important;width:100%!important;height:14px!important;background:transparent!important;border:0!important;margin:0!important}
.fullscreen-video-shell .video-seek::-webkit-slider-runnable-track,.project-video-modal .video-seek::-webkit-slider-runnable-track{height:1px!important;background:currentColor!important;opacity:.42}
.fullscreen-video-shell .video-seek::-webkit-slider-thumb,.project-video-modal .video-seek::-webkit-slider-thumb{-webkit-appearance:none!important;width:7px!important;height:7px!important;border:0!important;border-radius:50%!important;background:currentColor!important;margin-top:-3px!important}
.fullscreen-video-shell .video-seek::-moz-range-track,.project-video-modal .video-seek::-moz-range-track{height:1px!important;background:currentColor!important;border:0!important;opacity:.42}
.fullscreen-video-shell .video-seek::-moz-range-thumb,.project-video-modal .video-seek::-moz-range-thumb{width:7px!important;height:7px!important;border:0!important;border-radius:50%!important;background:currentColor!important}
/* Course top section respects the same 952px geometry and square media. */
html body.v115-course-detail #contentApp#contentApp .v115-course-facts{width:648px!important;max-width:648px!important}
html body.v115-course-detail #contentApp#contentApp .v115-course-poster{width:240px!important;height:240px!important;aspect-ratio:1!important}
html body.v115-course-detail #contentApp#contentApp .v115-course-action{width:100%!important}
@media(max-width:900px){html body.v115-course-detail #contentApp#contentApp .v115-course-facts{width:100%!important;max-width:none!important}html body.v115-course-detail #contentApp#contentApp .v115-course-poster{width:min(100%,320px)!important;height:auto!important;aspect-ratio:1!important}}

/* Exact Architecture-like spacing in every public category/subcategory list. */
html body :is(.category-list,.detail-subcategory-list,.store-subcategory-list,.store-sort-list,.research-filter-list,.civil-filter-list,.v49-filter-list,.podcast-filter-list,.podcast-topics,.podcast-seasons){gap:0!important;row-gap:0!important}
html body :is(.category-button,.detail-subcategory-list a,.store-subcategory-list a,.store-sort-list button,.research-filter-list button,.civil-filter-list button,.v49-filter-option,.podcast-filter-list button,.podcast-topics button,.podcast-seasons button){display:block!important;padding-block:7px!important;margin-block:0!important;line-height:1.7!important;min-height:0!important}

/* Keywords: one compact line, heading generated by article-tags::before. */
#articleFooter>h2{display:none!important}

/* Mobile podcast inline player = the same thin control language; speed is tap-cycle, not a dropdown. */
.podcast-inline-player{display:grid!important;grid-template-columns:auto minmax(70px,1fr) auto!important;align-items:center!important;gap:7px!important;padding:6px 0!important;border:0!important;border-top:1px solid var(--line,#ccd0d5)!important;background:transparent!important;box-shadow:none!important}
.podcast-inline-player .podcast-inline-play,.podcast-inline-player .podcast-inline-speed{appearance:none!important;border:0!important;background:transparent!important;color:inherit!important;padding:0!important;width:auto!important;min-width:26px!important;height:24px!important;font:500 9px/1 Arial,sans-serif!important;box-shadow:none!important}
.podcast-inline-player .podcast-inline-seek{appearance:none!important;-webkit-appearance:none!important;width:100%!important;height:14px!important;margin:0!important;background:transparent!important;border:0!important}
.podcast-inline-player .podcast-inline-seek::-webkit-slider-runnable-track{height:1px!important;background:currentColor!important;opacity:.42}.podcast-inline-player .podcast-inline-seek::-webkit-slider-thumb{-webkit-appearance:none!important;width:7px!important;height:7px!important;border-radius:50%!important;background:currentColor!important;border:0!important;margin-top:-3px!important}
.podcast-inline-player .podcast-inline-nav{grid-column:1/-1!important;display:flex!important;gap:8px!important;justify-content:center!important;border:0!important}.podcast-inline-player .podcast-inline-nav button{border:0!important;background:transparent!important;color:inherit!important;min-width:24px!important;height:22px!important;padding:0!important;box-shadow:none!important}

/* Authoring toolbar: formatting remains optional and does not alter public minimalist link style. */
.emkan-format-toolbar{display:flex;align-items:center;gap:5px;margin:0 0 6px}.emkan-format-toolbar button{appearance:none;border:1px solid var(--line,#ccd0d5);background:transparent;color:inherit;min-width:32px;height:25px;padding:0 7px;font:500 9px/1 Arial,sans-serif;cursor:pointer;border-radius:0}.emkan-format-toolbar button:hover{border-color:var(--hover-accent,#56869b);color:var(--hover-accent,#56869b)}
/* Any cover collection using the 192px EMKAN card system centers itself for 1–4 items. */
html body :is(.v49-grid,.v74-level2-grid,.store-grid){grid-template-columns:repeat(auto-fit,192px)!important;justify-content:center!important;justify-items:center!important}
html body .store-grid{width:min(876px,100%)!important;grid-auto-rows:auto!important;gap:32px 36px!important}
html body .store-grid .store-card{width:192px!important;height:192px!important;aspect-ratio:1!important}
@media(max-width:700px){html body :is(.v49-grid,.v74-level2-grid,.store-grid){grid-template-columns:repeat(auto-fit,minmax(0,min(192px,calc(50vw - 28px))))!important;gap:14px!important}}
@media(max-width:430px){html body :is(.v49-grid,.v74-level2-grid,.store-grid){grid-template-columns:minmax(0,192px)!important}}
