/* Premium finishing layer: feature-specific states and exceptions only. Global shell/design-system ownership lives in base.css and shell.css. */
.mm-expandable-content{position:relative}
.mm-expandable-content.is-expandable:not(.is-expanded) .mm-expandable-content__body{max-height:600px;overflow:hidden}
.mm-expandable-content__fade{display:none;position:absolute;inset-inline:0;bottom:52px;height:130px;pointer-events:none;background:linear-gradient(transparent,var(--color-surface) 78%)}
.mm-expandable-content.is-expandable:not(.is-expanded) .mm-expandable-content__fade{display:block}
.mm-expandable-content__toggle{display:none;position:relative;z-index:2;align-items:center;justify-content:center;gap:8px;margin:22px auto 0;min-height:44px;padding:0 18px;border:1px solid var(--color-border);border-radius:var(--mm-radius-md);background:#fff;color:var(--brand-primary);font:600 14px var(--font-body);cursor:pointer}
.mm-expandable-content.is-expandable .mm-expandable-content__toggle{display:flex}
.mm-expandable-content.is-expanded .mm-expandable-content__toggle .mm-icon{transform:rotate(180deg)}
.mm-faq{margin-block:58px}
.mm-faq__heading{display:flex!important;align-items:center;gap:13px;margin-bottom:20px}
.mm-faq__heading-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:var(--mm-radius-md);background:color-mix(in srgb,var(--brand-accent) 13%,var(--color-surface));color:var(--brand-accent)}
.mm-faq__heading-icon .mm-icon{width:22px;height:22px}
.mm-faq__list{display:grid;gap:10px}
.mm-faq__item{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--mm-radius-md);background:var(--color-surface);transition:border-color .2s ease,box-shadow .2s ease}
.mm-faq__item:hover,.mm-faq__item.is-open{border-color:color-mix(in srgb,var(--brand-primary) 25%,var(--color-border));box-shadow:0 12px 30px rgb(15 45 72/.05)}
.mm-faq__item h3{margin:0!important}
.mm-faq__item button{min-height:76px;padding:18px 20px!important;font-size:17px!important;font-weight:600!important}
.mm-faq__item button i{display:grid;width:29px;height:29px;flex:0 0 29px;place-items:center;border-radius:var(--mm-radius-pill);background:var(--color-bg)}
.mm-faq__item button i .mm-icon{width:15px;height:15px;transition:transform .18s ease}
.mm-faq__item.is-open button i .mm-icon{transform:rotate(45deg)}
.mm-faq__answer{padding:0 20px 22px!important;color:var(--color-text)}
.mm-service-final-cta{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-block:34px 52px;padding:30px 32px;border:1px solid color-mix(in srgb,var(--brand-primary) 18%,var(--color-border));border-radius:var(--mm-radius-lg);background:linear-gradient(135deg,color-mix(in srgb,var(--brand-primary) 4%,var(--color-surface)),var(--color-surface-2));box-shadow:0 16px 42px color-mix(in srgb,var(--brand-primary) 5%,transparent)}
.mm-service-final-cta>div{max-width:650px}
.mm-service-final-cta h2{margin:4px 0 8px!important;font-size:var(--mm-type-h2)!important}
.mm-service-final-cta p:not(.mm-eyebrow){margin:0;color:var(--color-muted)}
.mm-author-card{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:20px;padding:26px!important;border:1px solid var(--color-border);border-radius:var(--mm-radius-lg);background:linear-gradient(135deg,#f8fbfd,#f2f6fa)!important}
.mm-author-card__avatar img{width:84px!important;height:84px!important;object-fit:cover;border-radius:var(--mm-radius-lg)!important}
.mm-author-card__identity{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}
.mm-author-card__identity span{color:var(--color-muted);font-size:13px}
.mm-author-card__content>p:not(.mm-eyebrow){margin:8px 0 0}
.mm-author-card__link{display:inline-flex;align-items:center;gap:7px;margin-top:12px;font-weight:600;text-decoration:none}
.mm-author-card__link .mm-icon{width:16px;height:16px}
.mm-lightbox{position:fixed;z-index:1200;inset:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;padding:20px;background:rgb(3 17 31/.94);backdrop-filter:blur(9px);}
.mm-lightbox__chrome{display:flex;align-items:center;gap:10px;}
.mm-lightbox__chrome button{display:grid;place-items:center;border:1px solid rgb(255 255 255/.22);background:rgb(255 255 255/.08);color:#fff;}
.mm-lightbox__stage{display:grid;min-height:0;place-items:center;}
.mm-lightbox__stage img{max-width:min(1500px,94vw);max-height:76vh;object-fit:contain;border-radius:var(--mm-radius-md);box-shadow:0 22px 70px rgb(0 0 0/.38);}
.mm-lightbox__caption{display:grid;gap:4px;min-height:42px;justify-items:center;color:rgb(255 255 255/.76);text-align:center;}
.mm-lightbox__caption strong{color:#fff;font-weight:600}
figure:has(img[data-mm-content-lightbox])>figcaption{display:none}
.mm-resource-showcase{display:grid!important;grid-template-columns:minmax(0,1.8fr) minmax(300px,.9fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:18px!important;align-items:stretch}
.mm-resource-showcase>.mm-resource-card:first-child{grid-row:1/3}
.mm-resource-showcase>.mm-resource-card{min-width:0;position:relative!important;inset:auto!important;transform:none!important}
.mm-resource-showcase .mm-resource-card__link{height:100%}
.mm-resource-showcase>.mm-resource-card:not(:first-child) .mm-resource-card__link{display:grid;grid-template-columns:42% 1fr}
.mm-resource-showcase>.mm-resource-card:not(:first-child) .mm-resource-card__media{height:100%;aspect-ratio:auto}
.mm-resource-card{overflow:hidden}
.mm-resource-card__link{padding:10px!important}
.mm-resource-card__media{overflow:hidden;border-radius:var(--mm-radius-md)!important;aspect-ratio:16/9}
.mm-resource-card__media img{width:100%;height:100%;object-fit:cover}
.mm-resource-card__body{padding:18px 10px 12px!important}
.mm-resource-card__meta{display:flex;gap:12px;}
.mm-resource-card__body>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mm-resource-card__arrow{transition:transform .2s ease}
.mm-resource-card:hover .mm-resource-card__arrow{transform:translateX(4px)}
@media (max-width:1050px){.mm-resource-showcase{grid-template-columns:1.35fr .9fr}}
@media (max-width:820px){.mm-resource-showcase{display:grid!important;grid-template-columns:1fr;grid-template-rows:auto}.mm-resource-showcase>.mm-resource-card:first-child{grid-row:auto}.mm-resource-showcase>.mm-resource-card:not(:first-child) .mm-resource-card__link{display:block}.mm-resource-showcase>.mm-resource-card:not(:first-child) .mm-resource-card__media{aspect-ratio:16/9}.mm-editorial-actions{grid-template-columns:1fr}.mm-service-final-cta{align-items:flex-start;flex-direction:column}}
@media (max-width:640px){.mm-entry-cover{border-radius:var(--mm-radius-md)}.mm-editorial-actions{padding:18px}.mm-author-card{grid-template-columns:1fr}.mm-author-card__avatar img{width:72px!important;height:72px!important}}
@media (min-width:641px){.mm-mobile-cta{display:none}}
@media print{.mm-header,.mm-footer,.mm-editorial-sidebar,.mm-share,.mm-mobile-cta,.mm-breadcrumb-surface,.mm-expandable-content__toggle,.mm-expandable-content__fade{display:none!important}.mm-container{width:100%!important}.mm-editorial-layout{display:block!important}.mm-prose{max-width:none!important}.mm-expandable-content__body{max-height:none!important;overflow:visible!important}}
/* Dynamic content facts, media cards and controls. */
.mm-lightbox{touch-action:pan-y;}
.mm-lightbox__chrome{justify-content:space-between;pointer-events:none;}
.mm-lightbox__chrome button{pointer-events:auto;width:48px;height:48px;border-radius:var(--mm-radius-md);font-size:0;cursor:pointer;}
.mm-lightbox__chrome button svg{width:22px;height:22px}
.mm-lightbox__chrome [data-lightbox-close]{margin-inline:auto;}
.mm-lightbox__stage{cursor:grab;}
.mm-lightbox__stage.is-dragging{cursor:grabbing}
.mm-lightbox__caption{max-width:900px;margin-inline:auto;padding:9px 14px;border-radius:var(--mm-radius-md);background:rgb(255 255 255/.06);}
/* Element-Pack-inspired editorial mosaic: visual hierarchy without copying markup/styles. */
.mm-resource-mosaic{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:210px;gap:14px;padding-top:clamp(46px,5vw,70px)}
.mm-resource-mosaic .mm-resource-card{overflow:hidden;border:0;border-radius:var(--mm-radius-lg);background:#0a2946;box-shadow:0 16px 42px rgb(11 40 68/.10)}
.mm-resource-mosaic .mm-resource-card--mosaic-0,.mm-resource-mosaic .mm-resource-card--mosaic-1{grid-column:span 3;grid-row:span 2}
.mm-resource-mosaic .mm-resource-card--mosaic-2,.mm-resource-mosaic .mm-resource-card--mosaic-3,.mm-resource-mosaic .mm-resource-card--mosaic-4{grid-column:span 2}
.mm-resource-card--mosaic .mm-resource-card__link{position:relative;display:block;padding:0;overflow:hidden}
.mm-resource-card--mosaic .mm-resource-card__media{position:absolute;inset:0;aspect-ratio:auto;margin:0;border-radius:var(--mm-radius-none)}
.mm-resource-card--mosaic .mm-resource-card__media:after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,transparent 28%,rgb(4 22 39/.18) 48%,rgb(4 22 39/.88) 100%)}
.mm-resource-card--mosaic .mm-resource-card__body{position:absolute;z-index:2;inset-inline:0;inset-block-end:0;display:block;padding:22px;color:#fff}
.mm-resource-card--mosaic .mm-resource-card__meta{justify-content:space-between;color:rgb(255 255 255/.72)}
.mm-resource-card--mosaic .mm-resource-card__meta>span:first-child{color:var(--brand-accent)}
.mm-resource-card--mosaic h2,.mm-resource-card--mosaic h3,.mm-resource-card--mosaic h4{max-width:26ch;margin:10px 0 0!important;color:#fff;font-size:clamp(1.15rem,1.8vw,1.75rem);text-shadow:0 2px 16px rgb(0 0 0/.22)}
.mm-resource-card--mosaic p,.mm-resource-card--mosaic .mm-resource-card__arrow{display:none}
.mm-resource-card--mosaic:hover{transform:translateY(-3px)}
.mm-resource-card--mosaic:hover .mm-resource-card__media img{transform:scale(1.035)}
.mm-resource-card__meta{justify-content:space-between!important;}
.mm-resource-card__meta time{margin-inline-start:auto;}
@media (max-width:900px){.mm-resource-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:230px}.mm-resource-mosaic .mm-resource-card{grid-column:span 1!important;grid-row:span 1!important}.mm-resource-mosaic .mm-resource-card--mosaic-0{grid-column:1/-1!important;grid-row:span 2!important}}
@media (max-width:600px){.mm-resource-mosaic{grid-template-columns:1fr;grid-auto-rows:250px}.mm-resource-mosaic .mm-resource-card{grid-column:1!important}.mm-resource-mosaic .mm-resource-card--mosaic-0{grid-row:span 1!important}.mm-resource-card--mosaic .mm-resource-card__body{padding:18px}.mm-resource-card--mosaic h2,.mm-resource-card--mosaic h3{font-size:1.25rem}}
.mm-lightbox__stage img{-webkit-user-drag:none;user-select:none;}
/* Approved feature refinements retained after CSS ownership cleanup. */
/* Editorial refinements. */


/* Native phone CTAs: managed Support SVG left, label right (LTR).
   Only buttons carrying mm-button--phone are affected; fixed mobile CTA is untouched. */
.mm-button.mm-button--phone{display:inline-flex;align-items:center;gap:10px}
.mm-button.mm-button--phone>.mm-icon{order:-1;flex:none;margin-inline:0;transform:none}
.mm-button.mm-button--phone>span:not(.mm-icon){order:0}
.mm-header-cta.mm-button--phone:hover>.mm-icon,.mm-header-cta.mm-button--phone:focus-visible>.mm-icon{transform:none}
.mm-drawer__body>.mm-button.mm-button--phone>.mm-icon{order:-1}

/* v4.7.28.20 — Correct proportional play control on service video covers. */
.mm-service-hero__media .mm-self-video__cover .mm-self-video__play{
  box-sizing:border-box;display:grid;flex:0 0 68px;width:68px;height:68px;
  aspect-ratio:1;place-items:center;padding:0;margin:0;line-height:1;
  border:1px solid color-mix(in srgb,var(--color-on-dark) 70%,transparent);
  border-radius:50%;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--color-on-dark) 13%,transparent),
    0 12px 34px color-mix(in srgb,var(--color-dark-surface) 45%,transparent);
}
.mm-service-hero__media .mm-self-video__cover .mm-self-video__play::before{inset:5px;border-radius:50%}
.mm-service-hero__media .mm-self-video__cover .mm-self-video__play svg{
  display:block;flex:0 0 23px;width:23px;height:23px;max-width:23px;max-height:23px;
  margin:0;transform:translateX(1px);
}
@media(max-width:640px){
 .mm-faq__heading{align-items:flex-start;gap:12px}
 .mm-faq__heading-icon{box-sizing:border-box;flex:0 0 42px;width:42px;height:42px;min-width:42px;min-height:42px;aspect-ratio:1;padding:0;border-radius:var(--mm-radius-md)}
 .mm-faq__heading-icon .mm-icon,.mm-faq__heading-icon svg{display:block;flex:0 0 22px;width:22px;height:22px;max-width:22px;max-height:22px}
 .mm-faq__heading h2{flex:1 1 auto;min-width:0;margin:0;overflow-wrap:break-word}
}
