.elementor .case-study{/* ===========================================================
 CASE STUDY
 =========================================================== */

.case-study {
background: var(--tk-bg, #fafaf8);
padding: 90px 4vw 100px;
}

/* SECTION TITLE */
.case-study-head {
margin: 0 0 48px;
text-align: center;
}

.case-study-head .elementor-heading-title {
font-family: var(--f-en, "Archivo", sans-serif) !important;
font-size: clamp(48px, 5vw, 76px) !important;
font-weight: 900 !important;
line-height: .95 !important;
letter-spacing: -.045em !important;
color: var(--tk-ink, #0a0a0a) !important;
text-transform: uppercase;
}


/* 3 CARD LAYOUT */
.case-study-grid,
.case-study-grid > .e-con-inner {
display: grid !important;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 24px !important;
align-items: stretch !important;
width: 100% !important;
}


/* CARD */
.case-card {
position: relative;
min-width: 0;
background: #fff;
border: 1px solid var(--tk-line, #e4e4df);
padding: 34px 32px 38px;
overflow: hidden;

transition:
  transform .35s ease,
  border-color .35s ease,
  box-shadow .35s ease;
}

.case-card:hover {
transform: translateY(-5px);
border-color: var(--tk-line-2, #d4d4cf);
box-shadow: 0 18px 40px rgba(0,0,0,.06);
}


/* RED TOP LINE */
.case-card::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 0;
height: 3px;
background: var(--tk-accent, #c8102e);
transition: width .35s ease;
}

.case-card:hover::before {
width: 100%;
}


/* NUMBER */
.case-num {
font-family: var(--f-en, "Archivo", sans-serif);
font-size: 14px;
font-weight: 800;
line-height: 1;
letter-spacing: .14em;
color: var(--tk-accent, #c8102e);
margin-bottom: 30px;
}


/* CATEGORY */
.case-category {
font-family: var(--f-en, "Archivo", sans-serif);
font-size: 10px;
font-weight: 700;
line-height: 1.5;
letter-spacing: .24em;
text-transform: uppercase;
color: var(--tk-ink-mute, #8a8a85);
margin-bottom: 34px;
}


/* TITLE */
.case-title {
margin: 0 0 26px;
}

.case-title,
.case-title .elementor-heading-title {
font-family: var(--f-jp, "Noto Sans JP", sans-serif) !important;
font-size: clamp(23px, 1.8vw, 31px) !important;
font-weight: 700 !important;
line-height: 1.5 !important;
letter-spacing: -.025em !important;
color: var(--tk-ink, #0a0a0a) !important;
}


/* BODY */
.case-desc {
position: relative;
z-index: 2;
}

.case-desc,
.case-desc p {
font-family: var(--f-jp, "Noto Sans JP", sans-serif);
font-size: 14px;
font-weight: 400;
line-height: 2;
letter-spacing: .01em;
color: var(--tk-ink-3, #4a4a4a);
}

.case-desc p {
margin: 0 0 20px;
}

.case-desc p:last-child {
margin-bottom: 0;
}


/* LARGE FAINT NUMBER */
.case-card::after {
content: attr(data-case);
position: absolute;
right: 18px;
bottom: -18px;
font-family: var(--f-en, "Archivo", sans-serif);
font-size: 110px;
font-weight: 900;
line-height: 1;
letter-spacing: -.07em;
color: rgba(10,10,10,.025);
pointer-events: none;
z-index: 1;
}


/* TABLET */
@media (max-width: 1024px) {

.case-study {
  padding: 72px 30px 80px;
}

.case-study-grid,
.case-study-grid > .e-con-inner {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px !important;
}

.case-card {
  padding: 30px 28px 34px;
}

.case-title,
.case-title .elementor-heading-title {
  font-size: 25px !important;
}

.case-desc,
.case-desc p {
  font-size: 13.5px;
}
}


/* MOBILE */
@media (max-width: 767px) {

.case-study {
  padding: 58px 20px 64px;
}

.case-study-head {
  margin-bottom: 34px;
}

.case-study-head .elementor-heading-title {
  font-size: 46px !important;
}

.case-study-grid,
.case-study-grid > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.case-card {
  padding: 28px 24px 32px;
}

.case-num {
  margin-bottom: 22px;
}

.case-category {
  margin-bottom: 24px;
}

.case-title,
.case-title .elementor-heading-title {
  font-size: 24px !important;
  line-height: 1.5 !important;
}

.case-desc,
.case-desc p {
  font-size: 14px;
  line-height: 1.95;
}

.case-card::after {
  font-size: 84px;
}
}\n}