/* Shared case-study system: paper, ink, open editorial rows, real media. */
html:has(.case-rich) { background: var(--paper); color-scheme: light; scrollbar-color: #8b8982 var(--paper); }
.case-rich { --case-rule: rgba(17,17,15,.18); --case-muted: #69675f; --case-body: #45443e; }
.case-rich .case-wrap { width: min(100% - 2 * var(--page-pad), 1320px); margin-inline: auto; }
.case-rich button { cursor: pointer; }
.case-rich a:focus-visible,.case-rich button:focus-visible,.case-rich select:focus-visible,.case-rich summary:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.case-rich svg { width: 22px; height: 22px; flex: none; }
.case-opening { display: grid; grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr); align-items: center; gap: clamp(30px,4vw,60px); padding-block: 50px 34px; }
.case-opening__text,.case-opening__media { min-width: 0; }
.case-opening .case-breadcrumb { margin-bottom: 28px; font-size: .76rem; letter-spacing: 0; }
.case-opening h1 { font-size: clamp(2.7rem,5.3vw,4.9rem); line-height: 1.06; letter-spacing: -.06em; margin: 0 0 24px; font-weight: 500; text-wrap: balance; overflow-wrap: break-word; }
html[lang="fa"] .case-opening h1 { font-weight: 700; letter-spacing: -.035em; line-height: 1.3; }
.case-opening__lead { margin: 0; max-width: 44ch; font-size: clamp(1rem,1.45vw,1.28rem); line-height: 1.75; color: var(--case-body); }
.case-opening__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }
.case-button { display: inline-flex; justify-content: center; align-items: center; gap: 18px; min-height: 48px; padding: 12px 18px; border: 1px solid var(--ink); font-size: .86rem; font-weight: 600; transition: background .2s,color .2s; }
.case-button:hover { background: #e2dfd7; }
.case-button--solid { background: var(--ink); color: var(--paper); }
.case-button--solid:hover { background: #31312b; }
.case-byline { color: var(--case-muted); font-size: .76rem; line-height: 1.9; margin: 22px 0 0; }
.case-opening__media { margin: 0; border: 1px solid var(--case-rule); border-radius: 4px; overflow: hidden; }
.case-browserline { display: flex; align-items: center; gap: 16px; padding: 10px 14px; font-size: .7rem; direction: ltr; border-bottom: 1px solid var(--case-rule); color: var(--case-muted); }
.case-browserline>span:first-child { letter-spacing: 3px; font-size: .6rem; }
.case-browserline svg { width: 15px; height: 15px; margin-inline-start: auto; }
.case-opening__image { display: block; width: 100%; padding: 0; border: 0; background: #e5e2da; }
.case-opening__image img { display: block; width: 100%; height: auto; aspect-ratio: 14/9; object-fit: contain; object-position: top; }
.case-opening__media figcaption { border-top: 1px solid var(--case-rule); padding: 10px 14px; color: var(--case-muted); font-size: .72rem; }
.case-details { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-block: 1px solid var(--case-rule); padding-block: 22px; }
.case-details>div { padding-inline: 22px; border-inline-start: 1px solid var(--case-rule); }
.case-details>div:first-child { border: 0; padding-inline-start: 0; }
.case-details dt { margin: 0 0 8px; color: var(--case-muted); font-size: .74rem; }
.case-details dd { margin: 0; font-size: .93rem; line-height: 1.7; }
.case-contents { position: sticky; top: var(--header-h); z-index: 15; background: rgba(240,238,232,.96); backdrop-filter: blur(12px); border-bottom: 1px solid var(--case-rule); }
.case-contents__links { display: flex; gap: 36px; }
.case-contents__links>a { padding-block: 20px 18px; border-bottom: 2px solid transparent; color: var(--case-muted); font-size: .87rem; }
.case-contents__links>a[aria-current="location"] { color: var(--ink); border-color: var(--ink); font-weight: 600; }
.case-contents__mobile { display: none; }
.case-block { padding-block: clamp(42px,5vw,70px); scroll-margin-top: calc(var(--header-h) + 80px); }
.case-block+.case-block { border-top: 1px solid var(--case-rule); }
.case-section-head { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 50px; align-items: start; margin-bottom: 34px; }
.case-section-head h2 { margin: 0; font-size: clamp(1.8rem,3vw,2.7rem); line-height: 1.16; font-weight: 500; letter-spacing: -.035em; text-wrap: balance; }
html[lang="fa"] .case-section-head h2 { line-height: 1.5; font-weight: 700; letter-spacing: -.025em; }
.case-section-head p { margin: 0; }
.case-rich p,.case-rich li { overflow-wrap: break-word; }
.case-block p,.case-delivery li { font-size: 1rem; line-height: 1.85; color: var(--case-body); }
html[lang="fa"] .case-block p,html[lang="fa"] .case-delivery li { line-height: 2; }
.case-story { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 60px; }
.case-rich h3 { margin: 0 0 14px; font-size: 1.22rem; line-height: 1.5; font-weight: 600; letter-spacing: -.025em; text-wrap: balance; }
html[lang="fa"] .case-rich h3 { font-weight: 700; letter-spacing: 0; }
.case-story p { margin: 0 0 16px; }
.case-feature-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); column-gap: 60px; }
.case-feature-list>li { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 16px; padding-block: 26px; border-top: 1px solid var(--case-rule); scroll-margin-top: calc(var(--header-h) + 90px); }
.case-feature-list p { margin: 0; }
.case-row-number { color: var(--case-muted); font-size: .73rem; line-height: 2; direction: ltr; }
.case-gallery-tools { display: flex; gap: 22px; border-bottom: 1px solid var(--case-rule); margin-bottom: 26px; }
.case-gallery-tools button { border: 0; background: none; padding: 10px 0 13px; border-bottom: 2px solid transparent; min-height: 44px; font-size: .85rem; color: var(--case-muted); }
.case-gallery-tools button[aria-pressed="true"] { border-color: var(--ink); color: var(--ink); font-weight: 700; }
.case-shot-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 30px; align-items: start; }
.case-shot { margin: 0; min-width: 0; }
.case-shot__open { position: relative; display: block; width: 100%; padding: 0; border: 1px solid var(--case-rule); background: var(--paper-soft); overflow: hidden; }
.case-shot__open img { width: 100%; height: auto; aspect-ratio: 14/9; object-fit: contain; transition: transform .45s var(--ease-out); }
.case-shot[data-media-kind="mobile"] { width: min(100%,390px); justify-self: center; }
.case-shot__open--mobile img { aspect-ratio: 390/844; object-fit: contain; }
.case-shot__open:hover img { transform: scale(1.015); }
.case-shot__zoom { position: absolute; inset-inline-end: 12px; bottom: 12px; width: 38px; height: 38px; display: grid; place-items: center; background: var(--paper); color: var(--ink); }
.case-shot figcaption { padding-top: 14px; }
.case-shot figcaption strong { display: block; font-size: .92rem; line-height: 1.7; font-weight: 600; }
.case-shot__meta { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px 14px; margin-top: 5px; font-size: .7rem; color: var(--case-muted); }
.case-shot__meta a { display: flex; align-items: center; gap: 4px; text-decoration: underline; text-underline-offset: 3px; }
.case-shot__meta svg { width: 15px; height: 15px; }
.case-film { border-block: 1px solid var(--case-rule); margin-top: 30px; }
.case-film summary { padding-block: 18px; cursor: pointer; font-size: .9rem; }
.case-film video { width: 100%; max-height: 65svh; background: var(--ink); }
.case-film p { font-size: .78rem; }
.case-process { list-style: none; padding: 0; margin: 0; }
.case-process>li { display: grid; grid-template-columns: 30px minmax(0,.65fr) minmax(0,1.35fr); gap: 24px; padding-block: 25px; border-top: 1px solid var(--case-rule); }
.case-process p,.case-process h3 { margin: 0; }
.case-delivery { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,.7fr); gap: 70px; }
.case-delivery ul { margin: 0; padding-inline-start: 20px; }
.case-delivery li { padding-inline-start: 8px; margin-bottom: 15px; }
.case-evidence { border-inline-start: 1px solid var(--case-rule); padding-inline-start: 30px; }
.case-evidence>div { padding-block: 16px; border-bottom: 1px solid var(--case-rule); }
.case-evidence a { display: flex; align-items: center; justify-content: space-between; gap: 16px; font-weight: 600; font-size: .91rem; }
.case-evidence strong { font-size: .91rem; }
.case-evidence p { margin: 8px 0 0; font-size: .86rem; }
.case-questions { max-width: 940px; }
.case-questions details { border-top: 1px solid var(--case-rule); }
.case-questions details:last-child { border-bottom: 1px solid var(--case-rule); }
.case-questions summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; list-style: none; padding-block: 21px; font-size: 1.03rem; font-weight: 600; cursor: pointer; }
.case-questions summary::-webkit-details-marker { display: none; }
.case-questions summary>span:last-child { font-size: 1.6rem; font-weight: 400; line-height: 1; }
.case-questions details[open] summary>span:last-child { transform: rotate(45deg); }
.case-questions p { margin: 0 0 24px; max-width: 80ch; }
.case-contact { padding: 30px; display: flex; justify-content: space-between; align-items: center; gap: 26px; background: var(--paper-soft); margin-block: 12px 50px !important; }
.case-contact h2 { font-size: 1.5rem; line-height: 1.6; margin: 0 0 8px; font-weight: 600; }
.case-contact p { color: var(--case-body); margin: 0; font-size: .93rem; max-width: 65ch; }
.case-contact .case-button { flex: none; }
.case-contact__actions { display: flex; flex-wrap: wrap; gap: 10px; flex: none; }
@media(max-width:760px) { .case-contact__actions { flex-direction: column; } }
.case-related { border-block: 1px solid var(--case-rule); padding-block: 25px; display: grid; grid-template-columns: 1fr 2fr auto; gap: 25px; align-items: center; margin-block-end: 40px !important; }
.case-related>span { font-size: .8rem; color: var(--case-muted); }
.case-related strong { font-size: clamp(1.4rem,2.8vw,2.4rem); font-weight: 500; line-height: 1.5; }
.case-rich .site-footer { color: var(--case-muted); border-color: var(--case-rule); }
.case-lightbox { padding: 0; border: 1px solid rgba(255,255,255,.2); background: #11110f; color: #f8f7f2; width: min(96vw,1480px); max-width: none; max-height: 94svh; }
.case-lightbox::backdrop { background: rgba(7,7,7,.85); backdrop-filter: blur(8px); }
.case-lightbox__bar { display: flex; justify-content: space-between; align-items: center; padding: 8px 16px; font-size: .8rem; direction: ltr; }
.case-lightbox button { border: 1px solid rgba(255,255,255,.3); background: transparent; width: 44px; height: 44px; display: grid; place-items: center; padding: 0; }
.case-lightbox button:hover { background: #33332e; }
.case-lightbox__stage { overflow: auto; max-height: 74svh; display: flex; justify-content: center; }
.case-lightbox__stage img { display: block; width: auto; height: auto; max-width: 100%; max-height: 74svh; object-fit: contain; }
.case-lightbox.is-natural-size .case-lightbox__stage { display: block; }
.case-lightbox.is-natural-size .case-lightbox__stage img { max-width: none; max-height: none; margin-inline: auto; }
.case-lightbox__zoom { font-size: .8rem; }
@media(max-width:760px) { .case-block p,.case-delivery li { font-size: 1rem; } }
@media(max-width:380px) {
 .case-rich .site-header { padding-inline: 12px; gap: 10px; }
 .case-rich .header-tools { gap: 8px; }
 .case-rich .site-mark { font-size: 9px; letter-spacing: .02em; }
 .case-rich .language-switch { gap: 8px; }
 .case-rich .language-switch button { padding-inline: 2px; }
 .case-rich .menu-toggle { width: 30px; min-height: 38px; padding: 0; font-size: 0; }
 .case-rich .menu-toggle::after { content: '☰'; font-size: 16px; }
}
.case-lightbox__footer { display: grid; grid-template-columns: 44px 1fr 44px; gap: 16px; align-items: center; padding: 12px 16px; }
.case-lightbox__footer p { margin: 0; font-size: .85rem; text-align: center; }
.case-rich.is-lightbox-open { overflow: hidden; }
html[dir="rtl"] .case-button svg,html[dir="rtl"] .case-related svg,html[dir="rtl"] .case-lightbox__footer svg { transform: scaleX(-1); }
@media(max-width:1000px) { .case-opening { gap: 28px; } .case-opening h1 { font-size: 3rem; } .case-section-head { gap: 30px; } .case-story,.case-feature-list { column-gap: 36px; } .case-details>div { padding-inline: 14px; } }
@media(max-width:760px) { .case-opening { grid-template-columns: minmax(0,1fr); padding-block: 30px 24px; gap: 26px; } .case-opening h1 { font-size: clamp(2rem,7.8vw,3rem); line-height: 1.2; } .case-opening .case-breadcrumb { margin-bottom: 20px; } .case-opening__lead { max-width: 60ch; font-size: 1rem; } .case-opening__actions { margin-top: 22px; } .case-byline { margin-top: 16px; } .case-opening__media figcaption { font-size: .69rem; } .case-details { grid-template-columns: repeat(2,minmax(0,1fr)); padding-block: 0; } .case-details>div,.case-details>div:first-child { padding: 16px 0; border: 0; } .case-details>div:nth-child(odd) { border-inline-end: 1px solid var(--case-rule); padding-inline-end: 16px; } .case-details>div:nth-child(even) { padding-inline-start: 18px; } .case-details>div:nth-child(-n+2) { border-bottom: 1px solid var(--case-rule); } .case-details dd { font-size: .85rem; } .case-contents__links { display: none; } .case-contents__mobile { display: flex; justify-content: space-between; gap: 18px; align-items: center; min-height: 58px; font-size: .78rem; color: var(--case-muted); } .case-contents select { background: transparent; border: 0; color: var(--ink); padding: 10px 4px; font: inherit; font-size: .85rem; min-width: 145px; min-height: 44px; } .case-block { padding-block: 36px; scroll-margin-top: calc(var(--header-h) + 76px); } .case-section-head { grid-template-columns: minmax(0,1fr); gap: 18px; margin-bottom: 24px; } .case-section-head h2 { font-size: clamp(1.4rem,5.8vw,1.9rem); line-height: 1.4; } .case-story,.case-feature-list,.case-delivery { grid-template-columns: minmax(0,1fr); gap: 26px; } .case-feature-list { gap: 0; } .case-rich h3 { font-size: 1.08rem; line-height: 1.7; } .case-feature-list>li { padding-block: 23px; grid-template-columns: 22px minmax(0,1fr); gap: 13px; } .case-block p,.case-delivery li { font-size: .95rem; } .case-shot-grid { grid-template-columns: minmax(0,1fr); gap: 26px; } .case-gallery-tools { gap: 26px; margin-bottom: 20px; } .case-shot__meta { font-size: .67rem; } .case-process>li { grid-template-columns: 22px minmax(0,1fr); gap: 12px; } .case-process>li p { grid-column: 2; } .case-evidence { border-inline-start: 0; border-top: 1px solid var(--case-rule); padding: 24px 0 0; } .case-questions summary { font-size: .96rem; line-height: 1.9; padding-block: 17px; } .case-contact { flex-direction: column; align-items: stretch; padding: 24px 20px; margin-block-bottom: 30px !important; } .case-contact h2 { font-size: 1.25rem; } .case-related { grid-template-columns: minmax(0,1fr) auto; gap: 12px; margin-block-end: 24px !important; } .case-related>span { grid-column: 1/-1; } .case-related strong { font-size: 1.5rem; } .case-lightbox { width: calc(100vw - 12px); } .case-lightbox__footer { gap: 8px; padding-inline: 10px; } .case-lightbox__footer p { font-size: .75rem; } }
@media(prefers-reduced-motion:reduce) { .case-shot__open img { transition: none; } }
@media(max-width:760px) { .case-block p,.case-delivery li { font-size: 1rem; } }
