.case-image { position: relative; min-height: 174px; display: grid; place-items: center; overflow: hidden; }
.case-studies .case-image { min-height: 0px; align-self: center; aspect-ratio: 4 / 3; }
.case-card .case-image { transition: transform 0.35s, box-shadow 0.35s; }
.case-card:hover .case-image { transform: translateY(-5px); box-shadow: rgba(16, 18, 15, 0.13) 0px 18px 40px; }
.case-project-data-heading > span, .case-installed-product-heading > span { color: var(--green); font-size: 10px; font-weight: 900; letter-spacing: 0.16em; }
.case-project-data-heading h2, .case-installed-product-heading h2 { margin: 12px 0px 0px; font-size: clamp(32px, 4vw, 48px); font-weight: 400; }
.case-installed-product { max-width: 1160px; margin: 125px auto 0px; }
.case-installed-product-heading { margin-bottom: 42px; }
.case-installed-product-card { display: grid; grid-template-columns: minmax(0px, 0.95fr) minmax(0px, 1.05fr); min-height: 470px; background: rgb(242, 246, 249); border: 1px solid rgba(72, 49, 24, 0.1); box-shadow: rgba(72, 49, 24, 0.08) 0px 22px 55px; }
.case-installed-product-image { min-height: 440px; display: grid; place-items: center; overflow: hidden; padding: 38px; background: white; }
.case-installed-product-image img { width: 100%; height: 100%; display: block; object-fit: contain; }
.case-installed-product-copy { display: flex; flex-direction: column; justify-content: center; padding: 55px; }
.case-installed-product-copy > span { color: var(--green); font-size: 11px; font-weight: 900; }
.case-installed-product-copy h3 { margin: 14px 0px 22px; font-size: clamp(32px, 4vw, 48px); font-weight: 500; }
.case-installed-product-copy p { margin: 0px; color: var(--muted); font-size: 13px; line-height: 2; }
.case-installed-product-specs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.case-installed-product-specs span { padding: 7px 11px; color: white; background: var(--ink); font-size: 10px; font-weight: 800; }
.case-installed-product-copy > a { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 36px; padding-top: 24px; border-top: 1px solid var(--line); font-size: 12px; font-weight: 900; }
.case-installed-product-copy .line-arrow { width: 34px; height: 34px; }
@media (max-width: 650px) {.case-image { min-height: 220px; }
.case-installed-product { margin-top: 85px; }
.case-installed-product-heading { margin-bottom: 28px; }
.case-installed-product-card { grid-template-columns: 1fr; }
.case-installed-product-image { min-height: 300px; padding: 28px; }
.case-installed-product-copy { padding: 32px 25px; }
.case-installed-product-copy h3 { font-size: 34px; }}
.cases-overview-section { padding: 28px max(4vw, 28px) 140px; background: rgb(243, 246, 248); }
.cases-filter-panel { width: min(100%, 1180px); margin: 0px auto 72px; padding: 30px 38px 32px; background: rgb(255, 255, 255); border: 1px solid rgb(214, 224, 231); }
.cases-filter-panel > h2 { margin: 0px 0px 26px; color: var(--ink); font-size: 15px; font-weight: 700; line-height: 1.5; }
.cases-filter-groups { display: grid; gap: 23px; }
.cases-filter-groups fieldset { min-width: 0px; margin: 0px; padding: 0px; border: 0px; }
.cases-filter-groups legend { margin-bottom: 10px; padding: 0px; color: var(--ink); font-size: 12px; font-weight: 700; line-height: 1.5; }
.cases-filter-options { display: flex; flex-wrap: wrap; gap: 9px; }
.cases-filter-options button { min-width: 150px; min-height: 32px; padding: 5px 18px; color: var(--text-body); background: rgb(255, 255, 255); border: 1px solid rgb(174, 189, 201); border-radius: 999px; cursor: pointer; font-size: 11px; font-weight: 500; line-height: 1.4; transition: color 0.2s, background-color 0.2s, border-color 0.2s; }
.cases-filter-options button:hover, .cases-filter-options button.is-active { color: rgb(255, 255, 255); background: var(--brand-blue); border-color: var(--brand-blue); }
.cases-filter-options button:focus-visible, .cases-filter-actions button:focus-visible, .cases-filter-empty button:focus-visible { outline: rgb(132, 120, 106) solid 2px; outline-offset: 3px; }
.cases-filter-actions { display: flex; align-items: center; justify-content: center; gap: 22px; margin-top: 30px; }
.cases-filter-actions button, .cases-filter-empty button { cursor: pointer; font-family: inherit; }
.cases-filter-submit { display: flex; width: min(100%, 250px); min-height: 46px; align-items: center; justify-content: center; gap: 58px; padding: 10px 18px 10px 36px; color: rgb(255, 255, 255); background: var(--brand-blue); border: 1px solid var(--brand-blue); border-radius: 999px; font-size: 13px; font-weight: 700; transition: color 0.2s, background-color 0.2s; }
.cases-filter-submit:hover { color: var(--brand-blue); background: rgb(255, 255, 255); }
.cases-filter-submit span { font-size: 17px; font-weight: 400; line-height: 1; }
.cases-filter-actions .cases-filter-clear { min-height: 42px; padding: 9px 18px; color: var(--text-body); background: rgb(255, 255, 255); border: 1px solid rgb(214, 224, 231); border-radius: 999px; font-size: 11px; text-decoration: none; }
.cases-filter-actions .cases-filter-clear:hover { color: var(--brand-blue); border-color: var(--brand-blue); }
.cases-filter-empty { width: min(100%, 1180px); margin: 0px auto; padding: 64px 24px; background: rgb(255, 255, 255); border: 1px solid rgb(214, 224, 231); text-align: center; }
.cases-filter-empty p { margin: 0px; color: var(--text-body); font-size: 14px; }
.cases-filter-empty button { margin-top: 20px; padding: 0px 0px 5px; color: var(--brand-blue); background: transparent; border-width: 0px 0px 1px; border-style: none none solid; border-color: currentcolor; border-image: none; font-size: 12px; font-weight: 700; }
.cases-results { scroll-margin-top: 90px; }
.cases-overview-grid { width: min(100%, 1180px); display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 48px 28px; margin-inline: auto; }
.cases-overview-card { position: relative; display: flex; flex-direction: column; min-width: 0px; color: var(--ink); background: transparent; text-decoration: none; }
.cases-overview-card:hover { color: var(--ink); }
.cases-overview-image { position: relative; aspect-ratio: 16 / 9; display: grid; place-items: center; overflow: hidden; background: rgb(223, 231, 237); }
.cases-overview-image > img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform 0.45s; }
.cases-overview-image > img[src*="case-kin-no-gyoza"], .case-study-article .case-image-carousel-stage > img[src*="case-kin-no-gyoza"] { object-position: center 54%; }
.cases-overview-card:hover .cases-overview-image > img { transform: scale(1.04); }
.cases-overview-image .case-standing { width: 34%; height: 74%; }
.cases-overview-image .case-guide { width: 38%; height: 70%; }
.cases-overview-image .case-wall { width: 74%; }
.cases-overview-copy { display: flex; flex: 1 1 0%; flex-direction: column; min-height: 132px; padding: 14px 0px 0px; }
html body main .cases-overview-copy h2 { display: -webkit-box; height: 3.3em; margin: 0px 0px 13px; overflow: hidden; color: var(--ink); -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: 14px !important; font-weight: 500 !important; line-height: 1.65 !important; }
.cases-overview-copy h2 span { font-weight: inherit; }
.cases-overview-copy ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 0px; padding: 0px; list-style: none; }
html body main .cases-overview-copy li { padding: 3px 8px; color: var(--text-body); background: transparent; border: 1px solid rgb(174, 189, 201); border-radius: 999px; font-size: 10px !important; font-weight: 500 !important; line-height: 1.35 !important; }
.cases-overview-copy > strong { display: flex; align-items: center; justify-content: flex-end; gap: 11px; margin-top: auto; padding-top: 20px; color: var(--ink); font-size: 10px; font-weight: 700; letter-spacing: 0.02em; }
.cases-overview-copy > strong span { color: var(--brand-blue); font-size: 14px; font-weight: 400; transition: transform 0.2s; }
.cases-overview-card:hover .cases-overview-copy > strong span { transform: translateX(4px); }
.cases-overview-card:focus-visible { outline: 3px solid var(--lime); outline-offset: 3px; }
@media (max-width: 1050px) {.cases-overview-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }}
@media (max-width: 650px) {.cases-overview-section { padding: 20px 20px 90px; }
.cases-filter-panel { margin-bottom: 56px; padding: 24px 20px 26px; }
.cases-filter-panel > h2 { margin-bottom: 22px; }
.cases-filter-options { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.cases-filter-options button { min-width: 0px; padding-inline: 10px; }
.cases-filter-actions { flex-direction: column; gap: 8px; margin-top: 26px; }
.cases-overview-grid { grid-template-columns: 1fr; gap: 22px; }
.cases-overview-copy { min-height: 136px; padding-top: 14px; }}
.case-image-carousel-stage { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: rgb(223, 231, 237); box-shadow: rgba(72, 49, 24, 0.1) 0px 18px 48px; }
.case-image-carousel-stage > img { position: absolute; inset: 0px; width: 100%; height: 100%; display: block; object-fit: cover; opacity: 0; transform: scale(1.015); transition: opacity 0.55s, transform 0.8s; }
.case-image-carousel-stage > img.is-active { opacity: 1; transform: scale(1); }
.case-image-carousel-caption { padding: 0px 0px 30px; color: var(--ink); }
.case-image-carousel-caption > span { color: var(--green); font-size: 11px; font-weight: 900; }
.case-image-carousel-caption h2 { margin: 10px 0px 8px; font-size: clamp(28px, 3vw, 36px); font-weight: 500; line-height: 1.35; }
.case-image-carousel-caption p { margin: 0px; color: var(--muted); font-size: 13px; }
.case-image-carousel-arrow { position: absolute; z-index: 3; top: 50%; width: 48px; height: 48px; display: grid; place-items: center; padding: 0px; color: var(--ink); background: rgba(255, 255, 255, 0.93); border: 0px; border-radius: 50%; box-shadow: rgba(72, 49, 24, 0.17) 0px 7px 22px; cursor: pointer; transform: translateY(-50%); transition: color 0.25s, background 0.25s, transform 0.25s; }
.case-image-carousel-arrow:hover { color: white; background: var(--ink); transform: translateY(-50%) scale(1.06); }
.case-image-carousel-arrow.is-prev { left: 20px; }
.case-image-carousel-arrow.is-next { right: 20px; }
.case-image-carousel-arrow span { font-size: 18px; line-height: 1; }
.case-image-carousel-dots { position: absolute; z-index: 3; left: 50%; bottom: 18px; display: flex; align-items: center; gap: 8px; transform: translateX(-50%); }
.case-image-carousel-dots button { width: 8px; height: 8px; padding: 0px; background: rgba(255, 255, 255, 0.62); border: 0px; border-radius: 999px; box-shadow: rgba(72, 49, 24, 0.22) 0px 1px 5px; cursor: pointer; transition: width 0.25s, background 0.25s; }
.case-image-carousel-dots button.is-active { width: 28px; background: white; }
.case-detail-container .case-installed-product { max-width: none; margin-top: 90px; }
.case-detail-container .case-installed-product-heading > span { font-size: 10px; }
.case-detail-container .case-installed-product-heading h2 { font-size: clamp(28px, 3vw, 36px); font-weight: 500; }
.case-detail-container .case-installed-product-copy > span { font-size: 11px; }
.case-detail-container .case-installed-product-copy h3 { font-size: clamp(28px, 3vw, 36px); font-weight: 500; }
.case-detail-container .case-installed-product-copy p { font-size: 13px; line-height: 1.9; }
.case-detail-container .case-installed-product-specs span { font-size: 10px; }
.case-detail-container .case-installed-product-copy > a { font-size: 12px; }
@media (max-width: 650px) {.case-image-carousel-caption { padding: 0px 0px 22px; }
.case-image-carousel-caption h2 { font-size: 23px; }
.case-image-carousel-dots { bottom: 16px; }
.case-detail-container .case-installed-product { margin-top: 68px; }}
.case-study-article { width: min(100% - 48px, 1180px); margin-inline: auto; padding: 72px 0px 90px; }
.case-study-header { max-width: 850px; margin: 0px auto 38px; text-align: center; }
.case-study-eyebrow, .case-study-section-heading > span, .case-study-story-index span { color: rgb(111, 140, 167); font-size: 10px; font-weight: 700; letter-spacing: 0.2em; }
.case-study-header .case-detail-title { margin: 15px 0px 16px; color: rgb(44, 40, 35); font-size: clamp(27px, 2.8vw, 38px); font-weight: 500; line-height: 1.4; overflow-wrap: anywhere; text-wrap: balance; }
.case-study-header > p { margin: 0px; color: rgb(111, 104, 95); font-size: 14px; font-weight: 400; line-height: 2; }
.case-study-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 26px; }
.case-study-tags span { min-width: 92px; padding: 6px 14px; color: rgb(73, 100, 125); background: transparent; border: 1px solid rgb(185, 201, 214); border-radius: 999px; font-size: 10px; line-height: 1.2; }
.case-study-article .case-image-carousel-stage { aspect-ratio: 16 / 9; background: rgb(232, 237, 241); box-shadow: none; }
.case-study-overview { display: grid; grid-template-columns: 210px minmax(0px, 1fr); gap: 70px; margin-top: 56px; padding: 42px 48px; background: rgb(255, 255, 255); border: 1px solid rgba(72, 49, 24, 0.14); }
.case-study-section-heading h2 { margin: 12px 0px 0px; color: rgb(44, 40, 35); font-size: clamp(26px, 2.6vw, 36px); font-weight: 500; line-height: 1.4; }
.case-study-overview dl { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); margin: 0px; border-top: 1px solid rgba(72, 49, 24, 0.15); }
.case-study-overview dl > div { display: grid; grid-template-columns: 98px minmax(0px, 1fr); gap: 18px; padding: 18px 10px; border-bottom: 1px solid rgba(72, 49, 24, 0.15); }
.case-study-overview dt { color: rgb(111, 140, 167); font-size: 11px; font-weight: 500; }
.case-study-overview dd { margin: 0px; color: rgb(44, 40, 35); font-size: 14px; font-weight: 500; line-height: 1.7; }
.case-study-story { margin-top: 64px; border-top: 1px solid rgba(72, 49, 24, 0.16); }
.case-study-story article { display: grid; grid-template-columns: 210px minmax(0px, 1fr); gap: 70px; padding: 40px 0px; border-bottom: 1px solid rgba(72, 49, 24, 0.16); }
.case-study-story-index { display: flex; align-items: baseline; gap: 18px; }
.case-study-story-index strong { color: rgb(185, 202, 214); font-size: 28px; font-weight: 400; }
.case-study-story h2 { margin: 0px 0px 18px; color: rgb(44, 40, 35); font-size: clamp(22px, 2.2vw, 30px); font-weight: 500; line-height: 1.45; }
.case-study-story p { max-width: 760px; margin: 0px; color: rgb(111, 104, 95); font-size: 14px; font-weight: 400; line-height: 2.05; }
.case-study-article .case-installed-product { max-width: none; margin-top: 64px; }
.case-study-article .case-installed-product-heading { margin-bottom: 24px; }
.case-study-article .case-installed-product-heading > span, .case-study-article .case-installed-product-copy > span { color: rgb(111, 140, 167); }
.case-study-article .case-installed-product-heading h2 { font-size: clamp(26px, 2.6vw, 36px); font-weight: 500; }
.case-study-article .case-installed-product-card { width: min(100%, 1040px); min-height: 0px; grid-template-columns: 440px minmax(0px, 1fr); margin-inline: auto; background: rgb(255, 255, 255); border: 1px solid rgba(72, 49, 24, 0.14); box-shadow: none; }
.case-study-article .case-installed-product-image { min-height: 0px; aspect-ratio: 1 / 1; padding: 38px; }
.case-study-article .case-installed-product-copy { padding: 42px 46px; background: rgb(255, 255, 255); }
.case-study-article .case-installed-product-copy h3 { font-size: clamp(28px, 3vw, 38px); font-weight: 500; }
.case-study-article .case-installed-product-copy p { color: rgb(111, 104, 95); font-size: 14px; font-weight: 400; }
.case-study-article .case-installed-product-specs span { color: rgb(44, 40, 35); background: rgb(255, 255, 255); border: 1px solid rgb(185, 201, 214); border-radius: 999px; font-weight: 500; }
@media (max-width: 800px) {.case-study-article { width: min(100% - 40px, 1180px); padding: 52px 0px 70px; }
.case-study-header { margin-bottom: 34px; }
.case-study-header .case-detail-title { font-size: 24px; }
.case-study-article .case-image-carousel-stage { aspect-ratio: 4 / 3; }
.case-study-overview, .case-study-story article { grid-template-columns: 1fr; gap: 28px; }
.case-study-overview { margin-top: 38px; padding: 34px 24px; }
.case-study-overview dl { grid-template-columns: 1fr; }
.case-study-overview dl > div { grid-template-columns: 86px minmax(0px, 1fr); }
.case-study-story { margin-top: 48px; }
.case-study-story article { padding: 32px 0px; }
.case-study-article .case-installed-product { margin-top: 52px; }
.case-study-article .case-installed-product-card { grid-template-columns: 1fr; }
.case-study-article .case-installed-product-copy { padding: 34px 25px; }}
html body main .case-study-header .case-detail-title { font-size: clamp(27px, 2.8vw, 38px) !important; font-weight: 500 !important; line-height: 1.4 !important; letter-spacing: -0.02em !important; }
@media (max-width: 800px) {html body main .case-study-header .case-detail-title { font-size: 24px !important; }}
.product-section, .home-store-dx, .custom-manufacturing-home, .case-studies, .service-showcase, .brand-message, .outdoor-signage-lineup, .outdoor-signage-update, .led-vision-environments, .led-vision-installation, .multi-display-features, .multi-display-scenes, .window-stand-scene, .window-stand-flow, .fabrication-section-warm, .product-catalog, .case-related, .system-platform, .system-support, .content-creative, .content-support, .window-signage-image, .window-signage-installation, .window-signage-faq, .digital-menu-operation, .digital-menu-installation, .cases-overview-section, .rental-section-muted, .rental-faq-section, .category-landing-plan { background-color: var(--section-gray) !important; }
:is(a.button, .company-page-hero-action, .home-offer-actions > a, .home-store-dx-link, .custom-manufacturing-link, .rental-home-link, .case-studies-more > a, .product-family-link, .led-vision-solution-grid a, .led-module-actions a, .led-vision-cta a, .multi-display-contact-button, .window-signage-stand-pickup-copy > a, .window-stand-product-copy > a, .window-stand-contact-button, .fabrication-actions a, .fabrication-button, .viora-outline-link, .category-landing-intro-actions a, .category-landing-contact > a, .rental-viora-cta, .rental-custom-link, .footer-contact-button, .home-contact-content a, .contact-panel > a, .case-detail-contact > a, .case-installed-product-copy > a, .xnext-led-contact a, .contact-next, .product-detail-download-button) { position: relative; justify-content: center !important; padding-left: 44px !important; padding-right: 44px !important; text-align: center !important; }
:is(a.button, .company-page-hero-action, .home-offer-actions > a, .home-store-dx-link, .custom-manufacturing-link, .rental-home-link, .case-studies-more > a, .product-family-link, .led-vision-solution-grid a, .led-module-actions a, .led-vision-cta a, .multi-display-contact-button, .window-signage-stand-pickup-copy > a, .window-stand-product-copy > a, .window-stand-contact-button, .fabrication-actions a, .fabrication-button, .viora-outline-link, .category-landing-intro-actions a, .category-landing-contact > a, .rental-viora-cta, .rental-custom-link, .footer-contact-button, .home-contact-content a, .contact-panel > a, .case-detail-contact > a, .case-installed-product-copy > a, .xnext-led-contact a, .contact-next, .product-detail-download-button) > :is(i, b, span):last-child { position: absolute; right: 18px; margin: 0px; }

.cases-overview-section,.case-study-article{--brand-gold:#9a6827;--brand-gold-dark:#704719;--brand-gold-light:#c6a064;--section-gray:#fafaf9;--text-heading:#2c2823;--text-body:#625c54;--ink:#2c2823;font-family:var(--font-sans)}
html body main>section.cases-overview-section{padding:28px max(4vw,28px) 140px!important;background:#fafaf9!important;margin:0!important}
.cases-filter-options button,.cases-filter-actions button{font-family:inherit;cursor:pointer}.cases-filter-status{width:min(100%,1180px);margin:0 auto 20px;font-size:14px}.cases-filter-status:empty{display:none}.cases-overview-card[hidden]{display:none!important}.cases-filter-options button:focus-visible,.cases-filter-actions button:focus-visible{outline:2px solid #9a6827;outline-offset:3px}.case-study-article{max-width:1180px;margin:0 auto;padding:72px 24px!important}.case-study-header{position:static;display:block;height:auto;background:none;padding:0}.case-back-link{display:block;margin:40px 0;color:#87591f}@media(max-width:600px){html body main>section.cases-overview-section{padding:24px 16px 72px!important}}
.cases-overview-section,.case-study-article{--brand-blue:#9a6827}.cases-overview-copy h2,.cases-filter-panel h2,.case-study-article :is(h2,h3){font-family:var(--font-sans)}.cases-filter-options button[aria-pressed=true]{background:#9a6827;color:#fff;border-color:#9a6827}
