/* Optional native card sliders and client video portfolio. Loaded only when enabled. */
.mw .mw-carousel { min-width:0; max-width:100%; }
.mw .mw-carousel__track { min-width:0; }
.mw .mw-carousel__track>.card { overflow-wrap:anywhere; }
.mw .mw-carousel__controls { display:flex; justify-content:center; align-items:center; gap:18px; margin-block:18px 10px; padding-inline:60px; }
.mw .mw-carousel__controls[hidden],.mw [data-video-player][hidden],.mw [data-video-close][hidden],.mw [data-video-play][hidden] { display:none; }
.mw .mw-carousel__controls button { flex-shrink:0; width:44px; height:44px; border:1px solid var(--mw-line-strong); border-radius:50%; background:var(--mw-bg); color:var(--mw-green); font:700 22px sans-serif; cursor:pointer; }
.mw .mw-carousel__controls button:disabled { opacity:.4; cursor:default; }
.mw .mw-carousel__controls [role=status] { font-size:13px; min-width:45px; text-align:center; font-variant-numeric:tabular-nums; }
.mw .mw-carousel button:focus-visible,.mw .mw-carousel a:focus-visible,.mw .mw-carousel__track:focus-visible { outline:3px solid var(--mw-focus); outline-offset:3px; }
@media(min-width:768px) {
 .mw .mw-carousel[data-desktop=slider]>.mw-carousel__track { display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; padding:5px 2px 16px; scrollbar-width:thin; scroll-padding-inline:2px; }
 .mw .mw-carousel[data-desktop=slider]>.mw-carousel__track>* { flex:0 0 calc((100% - 52px) / 3); min-width:0; scroll-snap-align:start; opacity:1; transform:none; }
}
@media(max-width:767px) {
 .mw .mw-carousel[data-mobile=slider]>.mw-carousel__track { display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; padding:5px 2px 16px; scrollbar-width:thin; scroll-padding-inline:2px; }
 .mw .mw-carousel[data-mobile=slider]>.mw-carousel__track>* { flex:0 0 86%; min-width:0; scroll-snap-align:start; opacity:1; transform:none; }
 .mw .mw-carousel[data-mobile=slider]>.mw-carousel__track>:only-child { flex-basis:100%; }
 .mw .mw-carousel[data-mobile=slider]>.mw-carousel__track>.card:hover { transform:none; }
}
.mw .mw-portfolio { --vp-bg:var(--mw-beige); --vp-fg:var(--mw-green); --vp-soft:var(--mw-text-card); padding:38px 28px 32px; margin-block-start:80px; border-radius:24px; background:var(--vp-bg); color:var(--vp-fg); width:calc(100% - 32px); }
.mw .mw-portfolio--dark { --vp-bg:var(--mw-ink); --vp-fg:#fff; --vp-soft:var(--mw-on-dark); }
.mw .mw-portfolio--green { --vp-bg:var(--mw-green); --vp-fg:#fff; --vp-soft:var(--mw-on-dark); }
.mw .mw-portfolio__head { max-width:720px; margin:0 auto 28px; text-align:center; overflow-wrap:anywhere; }
.mw .mw-portfolio__eyebrow { display:inline-block; font-size:13px; font-weight:800; margin:0 0 10px; border:1px solid currentColor; border-radius:30px; padding:3px 16px; }
.mw .mw-portfolio .mw-h2 { color:var(--vp-fg); margin-block:0 12px; }
.mw .mw-portfolio__subtitle { font-size:20px; font-weight:700; }
.mw .mw-portfolio__description { color:var(--vp-soft); font-size:15px; white-space:normal; }
.mw .mw-portfolio__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; align-items:stretch; }
@media(min-width:768px) {
 .mw .mw-portfolio__grid--1 { grid-template-columns:minmax(0,340px); justify-content:center; }
 .mw .mw-portfolio__grid--2 { grid-template-columns:repeat(2,minmax(0,340px)); justify-content:center; }
}
.mw .mw-video-card { min-width:0; background:var(--mw-ink); color:#fff; border-radius:18px; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 6px 18px #0002; }
.mw .mw-video-card__media { aspect-ratio:9/16; width:100%; position:relative; background:linear-gradient(145deg,var(--mw-ink),var(--mw-green)); overflow:hidden; }
.mw .mw-video-card__media>[data-video-poster] { width:100%; height:100%; position:absolute; inset:0; object-fit:contain; }
.mw .mw-video-card__media[data-format=landscape]>[data-video-poster] { object-fit:cover; object-position:50% 50%; }
/* Standard YouTube HQ landscape thumbnails include 4:3 letterboxing around 16:9 imagery.
   Crop those baked-in bars only on automatic posters; custom posters retain their chosen source. */
.mw .mw-video-card__media[data-format=landscape]>[data-youtube-poster] { transform:scale(1.34); }
.mw .mw-video-card__media[data-format=portrait]>[data-video-poster] { object-fit:cover; }
.mw .mw-video-card__play { position:absolute; inset:0; width:100%; border:0; cursor:pointer; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; color:#fff; background:linear-gradient(0deg,#0007,transparent 60%); font:700 14px 'Cairo',sans-serif; }
.mw .mw-video-card__play .ic { width:60px; height:60px; padding:17px; border:1px solid #fff9; border-radius:50%; background:#01433fe6; box-shadow:0 4px 20px #0005; }
.mw .mw-video-card__play span { padding:4px 14px; border-radius:22px; background:#0b2020dd; }
.mw .mw-video-card__player { position:absolute; inset:0; display:grid; place-items:center; background:#000; }
.mw .mw-video-card__player iframe,.mw .mw-video-card__player video { width:100%; height:100%; border:0; object-fit:contain; }
/* Keep the player viewport above YouTube's 200x200 minimum. YouTube letterboxes landscape video. */
.mw .mw-video-card__close { position:absolute; top:8px; left:8px; width:44px; height:44px; border:1px solid #fff8; border-radius:50%; background:#102525; color:#fff; font:26px sans-serif; cursor:pointer; }
.mw .mw-video-card__body { padding:18px; display:flex; flex-direction:column; gap:10px; flex:1; }
.mw .mw-video-card h3 { margin:0; font-size:16px; line-height:1.8; overflow-wrap:anywhere; }
.mw .mw-video-card__body p { margin:0; font-size:13px; color:var(--mw-on-dark); overflow-wrap:anywhere; }
.mw .mw-video-card__links { margin-top:auto; display:flex; flex-wrap:wrap; gap:10px 14px; padding-top:8px; }
.mw .mw-video-card__links a { font-size:12px; min-height:32px; display:inline-flex; align-items:center; color:var(--mw-mint); text-decoration:underline; text-underline-offset:4px; max-width:100%; overflow-wrap:anywhere; }
.mw .mw-portfolio--dark .mw-cta .btn,.mw .mw-portfolio--green .mw-cta .btn { color:var(--mw-green); background:var(--mw-bg); }
@media(max-width:900px) and (min-width:768px) { .mw .mw-portfolio__grid--3 { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) {
 .mw .mw-portfolio { width:calc(100% - 24px); padding:28px 14px 24px; margin-block-start:56px; border-radius:20px; }
 .mw .mw-portfolio__grid { grid-template-columns:minmax(0,1fr); }
 .mw .mw-portfolio__subtitle { font-size:17px; }
 .mw .mw-portfolio .mw-h2 { font-size:25px; }
}
@media(prefers-reduced-motion:reduce) { .mw .mw-carousel__track { scroll-behavior:auto!important; } .mw .mw-carousel__track>* { transition:none; } }
