.caseContent,.caseShowcase { --case-accent:#285f48; color:#252525; }
.caseContent { padding:36px 0 60px; }
.caseContent h1 { font-size:30px; line-height:1.5; margin:0 0 12px; font-weight:600; }
.caseIntro { line-height:1.8; margin:0 0 22px; }
.caseFilters { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:20px; }
.caseFilters a { display:block; padding:9px 15px; border:1px solid #d8dfda; border-radius:4px; color:#333; background:#fff; line-height:1.5; }
.caseFilters a:hover,.caseFilters a[aria-current="page"] { background:var(--case-accent); color:white; border-color:var(--case-accent); }
.caseCount { color:#666; margin-bottom:20px; }
.caseGallery { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px 22px; padding:0!important; margin:0!important; list-style:none; }
.caseGallery .caseCard { width:auto!important; min-width:0; padding:0!important; margin:0!important; list-style:none; background:#fff; border:1px solid #e5e7e5; border-radius:5px; overflow:hidden; }
.caseCard > a:first-child { display:block; overflow:hidden; }
.caseCard img { display:block!important; width:100%!important; height:auto!important; aspect-ratio:4/3; object-fit:cover; transition:transform .25s; }
.caseCard > a:first-child:hover img { transform:scale(1.035); }
.caseGallery .caseCaption { display:block; position:static; padding:13px 14px 8px; margin:0; font-size:16px; font-weight:500; line-height:1.7; color:#222; white-space:normal; }
.caseCardCategory { display:inline-block; margin:0 14px 14px; color:var(--case-accent); font-size:14px; }
.caseShowcase { padding:55px 0; background:#f5f7f5; }
.caseHeading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }
.caseHeading p { color:#777; font-size:15px; margin:0 0 5px; }
.caseHeading h2 { font-size:30px; line-height:1.5; margin:0; }
.caseAllLink { color:var(--case-accent); padding:9px 0; }
.caseMenu { position:relative; }
.menu > li.caseMenu { display:inline-flex; align-items:center; justify-content:center; }
.menu .caseMenu > span { width:auto!important; display:block; position:relative; }
.menu .caseMenu > span > a { display:inline-block; color:inherit; font-size:16px; line-height:1.5; }
.caseMenuToggle { border:0; background:transparent; color:inherit; cursor:pointer; padding:6px; font-size:16px; vertical-align:middle; }
.menu .caseMenu .caseSubmenu { width:220px!important; left:50%!important; margin-left:-110px!important; height:auto!important; max-height:70vh; overflow-y:auto; padding:0!important; text-align:left; background:#fff; border-top:3px solid #285f48; box-shadow:0 6px 18px #0002; z-index:100; }
.menu .caseMenu .caseSubmenu a { color:#333!important; background:#fff; }
.menu .caseMenu .caseSubmenu a:hover { background:#f0f4f1; }
.caseSubmenu ul { list-style:none; margin:0!important; padding:0!important; }
.caseSubmenu li { width:100%!important; padding:0!important; margin:0!important; }
.caseSubmenu a { display:block; white-space:normal; padding:10px 16px!important; line-height:1.5; }
.menu .caseMenu:hover > .caseSubmenu,.menu .caseMenu:focus-within > .caseSubmenu,.menu .caseMenu.caseMenuOpen > .caseSubmenu { display:block!important; top:100%; visibility:visible!important; opacity:1!important; pointer-events:auto; }
.nav .caseMenu > span { display:inline-block; }
.nav .caseMenu .caseMenuToggle { position:absolute; top:8px; right:8px; z-index:2; }
.nav .caseMenu .caseSubmenu { position:static!important; display:none!important; opacity:1!important; visibility:visible!important; height:auto!important; width:100%!important; margin:0!important; transform:none!important; padding-left:12px!important; }
.nav .caseMenu.caseMenuOpen > .caseSubmenu { display:block!important; }
.nav .caseMenu .caseSubmenu a { font-size:15px; }
.m_menu .nav .caseMenu .caseSubmenu a.link { position:static!important; width:auto!important; height:auto!important; display:block!important; padding:10px 16px!important; mask:none!important; -webkit-mask:none!important; background:transparent!important; transform:none!important; }
.m_menu .nav .caseMenu > span > a.link { position:static!important; width:auto!important; height:auto!important; display:inline-block!important; padding:12px 0!important; mask:none!important; -webkit-mask:none!important; background:transparent!important; transform:none!important; }
.m_menu .nav .caseMenu > span > a.link + a.link { display:none!important; }
.m_menu .nav .caseMenu > span > a.link { pointer-events:auto!important; }
.m_menu .nav .caseMenu > span::after,.m_menu .nav .caseMenu > span > a::after { pointer-events:none!important; }
.m_menu .nav .caseMenu > span { position:relative; z-index:1; }
.m_menu .nav .caseMenu > span .inner { pointer-events:none; }
.m_menu.active { z-index:10001!important; }
.m_menu.active .hideBox { background:#fff!important; }
.m_menu.active .hideBox .nav a { color:#222!important; }
.m_menu.active .hideBox .nav li { border-bottom:1px solid #e7e7e7; }
.m_menu.active .hideBox .mfun a { color:#333!important; background:#f3f3f3; }
body:has(.m_menu.active) .fixedPdCompareBtn { display:none!important; }
.mainArea > .wrap:has(.caseContent),.caseShowcase .wrap { box-sizing:border-box; }
@media(max-width:540px) { .mainArea > .wrap:has(.caseContent),.caseShowcase .wrap { padding-left:20px!important; padding-right:20px!important; max-width:100%; } }
.caseViewer { border:0; padding:18px; background:#161616; color:white; width:min(1100px,94vw); max-height:94vh; border-radius:5px; }
.caseViewer::backdrop { background:rgba(0,0,0,.86); }
.caseViewer figure { margin:0; text-align:center; }
.caseViewer img { display:block; max-width:100%; max-height:73vh; width:auto; height:auto; object-fit:contain; margin:0 auto; }
.caseViewer figcaption { margin:12px 38px 0; line-height:1.6; }
.caseViewer button { cursor:pointer; padding:8px 14px; background:#333; border:1px solid #777; color:white; border-radius:4px; font-size:16px; }
.caseViewerBar { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; gap:12px; }
.caseViewerNav { display:flex; gap:10px; }
@media(max-width:900px) { .caseGallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 15px; } }
@media(max-width:540px) { .caseGallery { grid-template-columns:1fr; gap:20px; } .caseContent { padding:25px 0 40px; } .caseShowcase { padding:35px 0; } .caseHeading { align-items:flex-start; } .caseHeading h2,.caseContent h1 { font-size:25px; } .caseFilters { gap:7px; } .caseFilters a { font-size:14px; padding:7px 10px; } .caseAllLink { font-size:14px; } }
@media(prefers-reduced-motion:reduce) { .caseCard img { transition:none; } }

.menu .caseMenu > span > a { padding:33px 12px 33px 25px; }
