/* Jitka case study refinements; shared project pages keep their current layout. */
.jitka-case .case-main figcaption,
.jitka-case .case-label,
.jitka-case .case-topline,
.jitka-case .case-hero-foot,
.jitka-case .case-metadata dt { font-size:12px; letter-spacing:.1em; line-height:1.7 }
.jitka-case .case-link { font-size:12px; min-height:48px }
.jitka-case .case-prose { line-height:1.8 }
.jitka-case .case-metadata { grid-template-columns:1fr .55fr 1.7fr 1.4fr .75fr; gap:24px }
.jitka-case .case-metadata div { padding-right:0 }
.jitka-case .case-metadata dd { font-size:16px; line-height:1.65 }
.jitka-case .case-role-note { max-width:74ch; font-size:15px; line-height:1.75; color:#505a54; margin:24px 0 0 }
.jitka-case .case-identity-detail { grid-template-columns:1.1fr 1fr; gap:8% }
.jitka-case .case-identity-detail figure { padding:36px 28px 16px }
.jitka-case .case-identity-detail img { max-width:470px; margin:auto }
.jitka-case .case-brand-details > p { font-size:30px; line-height:1.45; margin:0; letter-spacing:-.025em }
.jitka-case .case-brand-details > p span { font-size:22px }
.jitka-case .case-brand-details .case-brand-caption { font-size:11px; letter-spacing:.09em; margin-top:14px; color:#505a54 }
.jitka-case .case-palette { display:flex; gap:24px; list-style:none; padding:0; margin:28px 0 0 }
.jitka-case .case-palette li { flex:1; font-size:12px; letter-spacing:.04em; color:#505a54 }
.jitka-case .case-palette i { display:block; height:32px; margin-bottom:10px }
.jitka-case .swatch-paper { background:#f7f4f0; border:1px solid #c9c7c0 }
.jitka-case .swatch-olive { background:#78866b }
.jitka-case .swatch-ink { background:#463a35 }
.jitka-case .case-web-composition { grid-template-columns:minmax(0,2.6fr) minmax(0,1fr); gap:5% }
.jitka-case .case-flow span { font-family:'Roboto Condensed',Arial,sans-serif; font-size:30px; letter-spacing:0; font-weight:600; line-height:1.2; font-variant-numeric:tabular-nums }
.jitka-case .case-flow h3 { margin-top:18px }
.jitka-case .case-flow p { font-size:15px }
.jitka-case .case-flow li:not(:last-child)::after { top:28px }
.jitka-case .case-combination { padding-top:64px; margin-top:70px }
.jitka-case .case-combination h3 { font-size:clamp(32px,3.6vw,48px) }
.jitka-case .case-journey { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; padding:0; margin:44px 0 0; border-top:1px solid #b8bdb6; border-bottom:1px solid #b8bdb6 }
.jitka-case .case-journey li { position:relative; padding:24px 28px 24px 0; font-size:12px; letter-spacing:.08em; line-height:1.7 }
.jitka-case .case-journey li:not(:last-child)::after { content:'→'; position:absolute; right:15px; top:24px; font-size:16px; line-height:1.3 }
.jitka-case .case-journey-dark { border-color:#48564c; color:#c1cbc4 }
.jitka-case .case-manage img { max-height:none; object-fit:contain }
.jitka-case .case-source-note { font-size:14px; line-height:1.75 }
.jitka-case .case-mobile-section { grid-template-columns:minmax(0,1fr) minmax(0,390px); gap:12% }
.jitka-case .case-mobile-section .case-mobile-shot { width:100% }
.jitka-case .case-result { padding-top:110px; padding-bottom:85px }
.jitka-case .case-result h2 { max-width:28ch; font-size:clamp(38px,4.7vw,66px); line-height:1.2 }
.jitka-case .case-result > p:not(.case-label) { margin:36px 0 54px }
.jitka-case .case-live { max-width:100%; padding:26px 0 }
.jitka-case .case-live-copy { display:grid; gap:12px }
.jitka-case .case-live-copy > span { font-size:12px; letter-spacing:.12em }
.jitka-case .case-live-copy strong { font-weight:400; font-size:clamp(22px,3vw,40px); letter-spacing:-.025em; line-height:1.4 }
.jitka-case .case-project-nav { display:grid; grid-template-columns:1fr 1fr; gap:9%; padding-top:38px; padding-bottom:38px }
.jitka-case .case-project-nav a { justify-content:space-between; padding:12px 0; text-decoration:none }
.jitka-case .case-project-nav small { display:block; font-size:11px; letter-spacing:.12em }
.jitka-case .case-project-nav strong { display:block; font-family:'Roboto Condensed',Arial,sans-serif; font-size:36px; font-weight:600; letter-spacing:-.02em; color:#f3f1eb; margin-top:8px }
.jitka-case .case-project-nav .arrow-icon { width:28px; height:28px; flex-shrink:0; transition:transform .2s }
@media(hover:hover) {
 .jitka-case .case-project-nav a:hover strong { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:7px }
 .jitka-case .case-project-nav a:hover .arrow-icon { transform:translate(3px,-3px) }
 .jitka-case .case-project-nav a:first-child:hover .arrow-icon { transform:translate(-3px,3px) }
 .jitka-case .case-live:hover strong { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:8px }
}
@media(max-width:1000px) {
 .jitka-case .case-metadata { grid-template-columns:1fr .6fr 1.6fr; gap:12px 28px }
 .jitka-case .case-metadata div:nth-child(4) { grid-column:1 / 3 }
 .jitka-case .case-journey li { font-size:11px }
}
@media(max-width:620px) {
 .jitka-case .case-topline,.jitka-case .case-hero-foot { font-size:10px; letter-spacing:.07em }
 .jitka-case .case-main .case-label,.jitka-case .case-metadata dt { font-size:11px }
 .jitka-case .case-main figcaption { font-size:11px; letter-spacing:.07em; flex-wrap:wrap; gap:4px 16px }
 .jitka-case .case-metadata { grid-template-columns:1fr 1fr; gap:0 20px }
 .jitka-case .case-metadata div:nth-child(3) { grid-column:1 / -1 }
 .jitka-case .case-metadata div:nth-child(4) { grid-column:auto }
 .jitka-case .case-metadata dd { font-size:15px }
 .jitka-case .case-metadata dt { margin-bottom:6px }
 .jitka-case .case-role-note { font-size:14px }
 .jitka-case .case-identity-detail,.jitka-case .case-web-composition,.jitka-case .case-mobile-section { grid-template-columns:1fr; gap:34px }
 .jitka-case .case-identity-detail figure { padding:24px 18px 6px }
 .jitka-case .case-web-composition .case-mobile-shot,.jitka-case .case-booking-visual .case-mobile-shot,.jitka-case .case-mobile-section .case-mobile-shot { width:100%; max-width:390px }
 .jitka-case .case-flow span { font-size:25px }
 .jitka-case .case-flow h3 { margin:0 }
 .jitka-case .case-flow li,.jitka-case .case-flow li+li { grid-template-columns:38px 1fr; padding-top:25px; padding-bottom:25px }
 .jitka-case .case-flow li:not(:last-child)::after { top:27px }
 .jitka-case .case-combination { margin-top:44px; padding-top:40px }
 .jitka-case .case-journey { grid-template-columns:1fr; margin-top:32px }
 .jitka-case .case-journey li { font-size:12px; padding:17px 28px 17px 0 }
 .jitka-case .case-journey li+li { border-top:1px solid #b8bdb6 }
 .jitka-case .case-journey-dark li+li { border-color:#48564c }
 .jitka-case .case-journey li:not(:last-child)::after { content:'↓'; top:18px; right:3px }
 .jitka-case .case-result { padding-top:64px; padding-bottom:52px }
 .jitka-case .case-result h2 { font-size:clamp(30px,8.6vw,48px); line-height:1.2 }
 .jitka-case .case-result > p:not(.case-label) { margin:28px 0 34px }
 .jitka-case .case-live-copy strong { font-size:clamp(19px,5.6vw,28px) }
 .jitka-case .case-project-nav { gap:24px; padding-top:24px; padding-bottom:24px }
 .jitka-case .case-project-nav small { font-size:10px; letter-spacing:.07em }
 .jitka-case .case-project-nav strong { font-size:30px }
 .jitka-case .case-project-nav .arrow-icon { width:20px; height:20px }
}
@media(prefers-reduced-motion:reduce) {
 .jitka-case .case-project-nav a:hover .arrow-icon { transform:none }
}

@media(max-width:620px) {
 .jitka-case .case-manage-frame { aspect-ratio:1.6; overflow:hidden }
 .jitka-case .case-manage-frame img { width:100%; height:100%; object-fit:cover; transform:scale(2) }
}

/* Mobile QA: larger touch area and a legible detail of the actual calendar. */
@media(max-width:900px) {
 .jitka-case .case-topline a { display:inline-flex; align-items:center; min-height:44px }
}
@media(max-width:620px) {
 .jitka-case .case-main figcaption { font-size:12px }
 .jitka-case .case-flow p { font-size:16px }
 .jitka-case .case-calendar-frame { overflow:hidden }
 .jitka-case .case-calendar-frame img { width:186%; max-width:none; margin-left:-43% }
}

@media(max-width:620px) {
 .jitka-case .case-services-picture img { aspect-ratio:1320 / 2868; height:auto }
 .jitka-case .case-caption-desktop { display:none }
 .jitka-case .case-caption-mobile[hidden] { display:inline }
}
