.msxmd-app{--bg:#050505;--card:#0d0e0d;--text:#f4f5ef;--muted:#92968f;--line:rgba(255,255,255,.11);--lime:#c9ff3b;--green:#1c4d3b;color:var(--text);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow:hidden}
.msxmd-app *{box-sizing:border-box}
.msxmd-app button{font:inherit}
.msxmd-container{width:min(calc(100% - 40px),1240px);margin:auto}

/* Works head */
.msxmd-work-head{padding:70px 0 45px;display:flex;justify-content:space-between;align-items:flex-end;gap:30px}
.msxmd-kicker{color:var(--lime);font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;margin-bottom:15px}
.msxmd-work-head h2{font-size:clamp(42px,6vw,78px);line-height:.95;letter-spacing:-.06em;margin:0}
.msxmd-work-head p{max-width:390px;color:var(--muted);line-height:1.7;font-size:14px}

/* Filters */
.msxmd-filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:30px}
.msxmd-filter{border:1px solid var(--line);background:transparent;color:#9da19a;padding:10px 15px;border-radius:999px;font-size:12px;cursor:pointer;transition:background .25s,border-color .25s,color .25s,transform .2s}
.msxmd-filter:hover{transform:translateY(-2px)}
.msxmd-filter:active{transform:translateY(0) scale(.97)}
.msxmd-filter:hover,.msxmd-filter.active{background:var(--lime);border-color:var(--lime);color:#080a07}

/* Grid + cards */
.msxmd-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding-bottom:100px;align-items:stretch}
.msxmd-project{position:relative;min-height:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:linear-gradient(160deg,#111411,#090a09);isolation:isolate;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s,opacity .5s ease;cursor:pointer}
.msxmd-project:nth-child(3n){min-height:0}
.msxmd-project:hover{transform:translateY(-5px);border-color:rgba(201,255,59,.38);box-shadow:0 18px 40px rgba(0,0,0,.24)}
.msxmd-js .msxmd-project{opacity:0;transform:translateY(32px)}
.msxmd-js .msxmd-project.msxmd-in-view{opacity:1;transform:translateY(0)}
.msxmd-js .msxmd-project.msxmd-in-view:hover{transform:translateY(-7px)}
.msxmd-project.msxmd-filter-hide{opacity:0!important;transform:scale(.94) translateY(10px)!important;pointer-events:none}
.msxmd-project.msxmd-hidden{display:none}
.msxmd-visual{position:relative;flex:none;width:100%;aspect-ratio:1.28/1;overflow:hidden;background:#111612}
.msxmd-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.12));pointer-events:none}
.msxmd-art{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.msxmd-project:hover .msxmd-art{transform:scale(1.045)}
.msxmd-art-fallback{display:grid;place-items:center;background:radial-gradient(circle at 70% 30%,rgba(201,255,59,.22),transparent 35%),linear-gradient(135deg,#1c4d3b,#070907);font-size:clamp(38px,6vw,82px);font-weight:900;letter-spacing:-.07em;color:#fff;padding:30px}
.msxmd-gallery-badge{position:absolute;z-index:3;top:18px;right:18px;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);color:#f4f5ef;font-size:11px;font-weight:700;letter-spacing:.4px;padding:5px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.18)}
.msxmd-project-info{position:relative;z-index:3;flex:1;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:20px 20px 21px}
.msxmd-project-no{font-size:10px;color:var(--lime);font-weight:800;letter-spacing:1.15px;line-height:1.5;margin-bottom:7px;text-transform:uppercase}
.msxmd-project h3{font-size:clamp(18px,1.55vw,23px);line-height:1.2;letter-spacing:-.035em;margin:0 0 7px;color:#f4f5ef}
.msxmd-project p{font-size:12px;line-height:1.55;color:#a8aca5;margin:0;max-width:95%}
.msxmd-arrow{width:40px;height:40px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center;color:var(--lime);font-size:18px;flex:none;transition:background .3s,color .3s,transform .3s;background:transparent;cursor:pointer}
.msxmd-project:hover .msxmd-arrow{background:var(--lime);color:#070907;transform:rotate(45deg)}
.msxmd-more{text-align:center;margin:-55px 0 120px;color:#737870;font-size:12px;letter-spacing:1px;text-transform:uppercase}
.msxmd-more span{color:var(--lime)}

/* Modal */
.msxmd-modal{position:fixed;inset:0;z-index:999999;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s}
.msxmd-modal.is-open{opacity:1;visibility:visible;transition:opacity .3s ease}
.msxmd-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(12px)}
.msxmd-modal-dialog{position:absolute;left:50%;top:50%;transform:translate(-50%,-46%) scale(.96);opacity:0;width:min(940px,calc(100% - 28px));max-height:min(88vh,900px);overflow:auto;background:#0b0d0b;border:1px solid rgba(255,255,255,.13);border-radius:24px;box-shadow:0 30px 100px rgba(0,0,0,.6);scrollbar-width:thin;transition:transform .4s cubic-bezier(.2,.8,.2,1),opacity .35s ease}
.msxmd-modal.is-open .msxmd-modal-dialog{transform:translate(-50%,-50%) scale(1);opacity:1}
.msxmd-modal-close{position:absolute;right:15px;top:15px;z-index:5;width:42px;height:42px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:28px;line-height:1;cursor:pointer;transition:transform .25s,background .25s}
.msxmd-modal-close:hover{background:var(--lime);color:#080a07;transform:rotate(90deg)}

/* Modal gallery / carousel */
.msxmd-modal-gallery{position:relative;height:330px;background:#111;overflow:hidden}
.msxmd-modal-track{display:flex;height:100%;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.msxmd-slide{min-width:100%;height:100%}
.msxmd-slide img{width:100%;height:100%;object-fit:cover;display:block}
.msxmd-gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.5);color:#fff;font-size:20px;line-height:1;cursor:pointer;display:grid;place-items:center;z-index:4;transition:background .25s,transform .25s}
.msxmd-gallery-nav:hover{background:var(--lime);color:#080a07}
.msxmd-gallery-prev{left:16px}
.msxmd-gallery-next{right:16px}
.msxmd-modal-gallery.msxmd-single-image .msxmd-gallery-nav,
.msxmd-modal-gallery.msxmd-single-image .msxmd-gallery-dots{display:none}
.msxmd-gallery-dots{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:7px;z-index:4}
.msxmd-dot{width:7px;height:7px;border-radius:50%;border:none;background:rgba(255,255,255,.4);cursor:pointer;padding:0;transition:background .25s,transform .25s}
.msxmd-dot.active{background:var(--lime);transform:scale(1.3)}

.msxmd-modal-body{padding:38px}
.msxmd-modal-kicker{color:var(--lime);font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;margin-bottom:13px}
.msxmd-modal-title{font-size:clamp(42px,7vw,78px);line-height:.9;letter-spacing:-.07em;margin:0 0 14px}
.msxmd-modal-short{font-size:16px;color:#a7aca4;line-height:1.7;max-width:700px;margin:0}
.msxmd-modal-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}
.msxmd-meta-item small{display:block;color:#6f746e;font-size:10px;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:6px}
.msxmd-meta-item span{font-size:13px;color:#e8eae4}
.msxmd-modal-content{color:#b7bbb5;font-size:14px;line-height:1.8}
.msxmd-detail-section{margin-top:28px}
.msxmd-detail-section h4{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:1.5px;margin:0 0 9px}
.msxmd-detail-section p{margin:0}
.msxmd-modal-link{display:inline-flex;margin-top:30px;padding:13px 18px;border-radius:12px;background:var(--lime);color:#080a07;text-decoration:none;font-size:12px;font-weight:900;transition:transform .25s,box-shadow .25s}
.msxmd-modal-link:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(201,255,59,.25)}
.msxmd-no-scroll{overflow:hidden}

@media(max-width:1180px) and (min-width:821px){
  .msxmd-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .msxmd-project,.msxmd-project:nth-child(3n),.msxmd-project:nth-child(2n){min-height:0}
}

@media(max-width:820px){
  .msxmd-container{width:min(calc(100% - 28px),1240px)}
  .msxmd-work-head{display:block;padding:45px 0 35px}
  .msxmd-work-head p{margin-top:20px}
  .msxmd-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
  .msxmd-filter{white-space:nowrap}
  .msxmd-work-grid{grid-template-columns:1fr;gap:16px;padding-bottom:70px}
  .msxmd-project,.msxmd-project:nth-child(3n){min-height:0}
  .msxmd-visual{aspect-ratio:1.25/1}
  .msxmd-project-info{padding:18px}
  .msxmd-project h3{font-size:23px}
  .msxmd-more{margin:-25px 0 75px}
  .msxmd-modal-dialog{max-height:92vh;border-radius:18px}
  .msxmd-modal-gallery{height:220px}
  .msxmd-modal-body{padding:25px 20px 30px}
  .msxmd-modal-meta{grid-template-columns:repeat(2,1fr)}
  .msxmd-modal-title{font-size:48px}
  .msxmd-modal-close{right:10px;top:10px}
  .msxmd-gallery-nav{width:36px;height:36px;font-size:17px}
}

@media(prefers-reduced-motion:reduce){
  .msxmd-app *{animation:none!important;transition:none!important}
  .msxmd-js .msxmd-project{opacity:1!important;transform:none!important}
}

/* Homepage showcase layouts */
.msxmd-app .msxmd-work-head h2{max-width:760px;text-wrap:balance}
.msxmd-app .msxmd-work-head p{margin:0 0 5px}
.msxmd-app .msxmd-work-grid{grid-template-columns:repeat(var(--msxmd-columns,3),minmax(0,1fr));gap:24px}
.msxmd-app .msxmd-project{height:100%;border-radius:18px}
.msxmd-app .msxmd-visual{aspect-ratio:1.22/1}
.msxmd-app .msxmd-art{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.75,.2,1)}
.msxmd-app .msxmd-project:hover .msxmd-art{transform:scale(1.045)}
.msxmd-app .msxmd-project-info{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 20px 21px;min-height:120px}
.msxmd-app .msxmd-project-info h3{margin:7px 0 6px;font-size:clamp(17px,1.45vw,22px);line-height:1.2;letter-spacing:-.025em}
.msxmd-app .msxmd-project-info p{margin:0;color:var(--muted);font-size:13px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.msxmd-app .msxmd-project-no{font-size:10px;line-height:1.4;letter-spacing:.11em;text-transform:uppercase;color:var(--lime);font-weight:750}
.msxmd-app .msxmd-arrow{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--text);transition:background .25s,color .25s,transform .25s}
.msxmd-app .msxmd-project:hover .msxmd-arrow{background:var(--lime);color:#080a07;transform:rotate(45deg);border-color:var(--lime)}
.msxmd-showcase-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 18px;color:var(--text);font-size:12px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.msxmd-showcase-hint{font-weight:400;letter-spacing:0;text-transform:none;color:var(--muted);margin-left:10px}
.msxmd-showcase-controls>div{display:flex;gap:8px}
.msxmd-showcase-controls button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--text);font-size:20px;line-height:1;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.msxmd-showcase-controls button:hover{background:var(--lime);border-color:var(--lime);color:#080a07}
.msxmd-app .msxmd-grid-slider,.msxmd-app .msxmd-grid-carousel{display:flex;gap:22px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:0 2px 26px;scrollbar-width:thin;scrollbar-color:var(--lime) transparent}
.msxmd-app .msxmd-grid-slider .msxmd-project,.msxmd-app .msxmd-grid-carousel .msxmd-project{flex:0 0 calc((100% - 44px)/3);min-width:0;scroll-snap-align:start}
.msxmd-app .msxmd-grid-slider .msxmd-project{flex-basis:calc((100% - 22px)/2.15)}
.msxmd-app .msxmd-grid-carousel .msxmd-project{flex-basis:calc((100% - 44px)/3)}
.msxmd-app .msxmd-grid-slider .msxmd-project.msxmd-hidden,.msxmd-app .msxmd-grid-carousel .msxmd-project.msxmd-hidden{display:none}
.msxmd-app .msxmd-grid-slider .msxmd-project.msxmd-in-view,.msxmd-app .msxmd-grid-carousel .msxmd-project.msxmd-in-view{opacity:1;transform:none}
.msxmd-app .msxmd-grid-slider .msxmd-project:hover,.msxmd-app .msxmd-grid-carousel .msxmd-project:hover{transform:translateY(-4px)}
.msxmd-app .msxmd-more{padding-top:8px}
@media(max-width:900px){.msxmd-app .msxmd-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.msxmd-app .msxmd-grid-carousel .msxmd-project{flex-basis:calc((100% - 22px)/2)}.msxmd-app .msxmd-grid-slider .msxmd-project{flex-basis:70%}}
@media(max-width:600px){.msxmd-app .msxmd-work-head{padding:46px 0 28px;display:block}.msxmd-app .msxmd-work-head p{margin-top:18px}.msxmd-app .msxmd-work-grid{grid-template-columns:1fr;gap:16px}.msxmd-app .msxmd-grid-carousel .msxmd-project{flex-basis:86%}.msxmd-app .msxmd-grid-slider .msxmd-project{flex-basis:88%}.msxmd-app .msxmd-project-info{padding:17px;min-height:108px}.msxmd-showcase-hint{display:none}.msxmd-showcase-controls button{width:38px;height:38px}}
