/* NEXORA / project case studies — shared V5 tokens in style.css */
.case-mobile-nav{display:none}.case-loading{min-height:50vh;display:grid;place-items:center;color:var(--muted)}.not-found{text-align:center;min-height:62vh;padding:90px 20px}.not-found h1{font-size:clamp(26px,4vw,43px)}.not-found p{color:var(--muted)}.not-found .btn{margin-top:13px}.breadcrumbs{display:flex;align-items:center;gap:9px;color:var(--muted-2);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-top:24px}.breadcrumbs a:hover{color:var(--accent)}.breadcrumbs strong{color:var(--text);overflow:hidden;text-overflow:ellipsis}.case-hero{padding:34px 0 63px;display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:clamp(25px,5vw,68px);align-items:center;border-bottom:1px solid var(--line)}.case-headline{min-width:0}.case-kicker{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:12px;font-weight:700}.case-icon{width:48px;height:48px;background:var(--surface-2);display:grid;place-items:center;color:var(--violet);border:1px solid var(--line);border-radius:13px;flex:none}.case-icon .svg-icon{width:27px;height:27px}.kicker-separator{color:var(--accent)}.case-hero h1{font-size:clamp(39px,5vw,75px);margin:25px 0 5px;line-height:1.24;overflow-wrap:anywhere}.case-en{color:var(--accent);font:600 11px/1.7 var(--font-en);letter-spacing:.11em;text-align:right;margin:2px 0 22px;overflow-wrap:anywhere}.case-lead{font-size:clamp(14px,1.45vw,17px);line-height:2.05;color:var(--muted);margin-bottom:20px}.case-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.case-meta>span{font-size:11px;color:var(--muted);border:1px solid var(--line);padding:6px 10px;border-radius:6px}.case-meta .status-badge{color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.case-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:29px}.case-featured-visual{background:var(--surface);padding:13px;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);min-width:0}.case-visual-top{padding:8px 8px 15px}.visual-dots{display:flex;gap:5px}.visual-dots i{width:7px;height:7px;border:1px solid var(--muted);border-radius:50%;opacity:.7}.case-featured-visual img{width:100%;aspect-ratio:1.35;object-fit:cover;object-position:top;border-radius:10px;border:1px solid var(--line);background:#0b1520}.case-visual-foot{padding:14px 7px 4px}.case-visual-foot b{color:var(--accent)}.case-anchor-nav{display:flex;gap:15px;align-items:center;overflow-x:auto;scrollbar-width:thin;border-bottom:1px solid var(--line);position:sticky;top:74px;background:var(--header);backdrop-filter:blur(15px);z-index:20}.case-anchor-nav a{font-size:12px;font-weight:700;color:var(--muted);padding:15px 5px;white-space:nowrap;border-bottom:2px solid transparent}.case-anchor-nav a:hover,.case-anchor-nav a.active{color:var(--text);border-color:var(--accent)}.case-section{padding:75px 0;border-bottom:1px solid var(--line);scroll-margin-top:130px}.section-marker{margin-bottom:27px}.section-marker>span,.section-marker>div>span{display:inline-block;font:700 10px/1.5 var(--font-en);color:var(--violet);letter-spacing:.15em;direction:ltr}.section-marker h2{font-size:clamp(30px,3.7vw,48px);margin:10px 0 0}.section-marker h2 em{font-style:normal;color:var(--accent)}.overview-layout{display:grid;grid-template-columns:1.4fr .6fr;gap:16px}.overview-main{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:clamp(22px,3vw,35px)}.overview-main h3{font-size:19px;margin-bottom:15px}.overview-main p{font-size:15px;line-height:2.2;color:var(--muted);margin:0}.overview-aside{border:1px solid var(--line);border-radius:14px;padding:27px;display:flex;flex-direction:column;justify-content:space-between;gap:10px}.aside-icon{font:400 42px var(--font-heading);color:var(--accent)}.overview-aside small{font-size:11px;font-weight:700;color:var(--violet)}.overview-aside p{line-height:2;color:var(--text);font-size:13px;margin:0}.challenge-layout{display:grid;grid-template-columns:1fr 1fr;gap:15px}.challenge-item{border-radius:14px;padding:clamp(21px,3vw,37px);border:1px solid var(--line);background:var(--surface);min-height:210px}.challenge-item.solution{background:var(--surface-2);border-color:color-mix(in srgb,var(--violet) 35%,var(--line))}.challenge-number{color:var(--violet);font:700 10px var(--font-en);letter-spacing:.14em;display:block;margin-bottom:33px;direction:ltr;text-align:right}.solution .challenge-number{color:var(--accent)}.challenge-item h3{font-size:19px;margin-bottom:8px}.challenge-item p{color:var(--muted);font-size:14px;line-height:2;margin:0}.case-section-sub{max-width:680px;color:var(--muted);line-height:2;margin-bottom:25px}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.feature-item{padding:22px;display:grid;grid-template-columns:32px minmax(0,1fr);gap:15px;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:12px}.feature-item .feature-icon{width:30px;height:30px;border-radius:9px;background:color-mix(in srgb,var(--accent) 10%,var(--surface-2));color:var(--accent);display:grid;place-items:center}.feature-item .feature-icon .svg-icon{width:17px;height:17px}.feature-item h3{font-size:14px;line-height:1.95;margin:0;font-weight:600}.feature-item small{color:var(--muted-2);font:700 10px var(--font-en);direction:ltr}.marker-with-count{display:flex;justify-content:space-between;align-items:end;gap:20px}.gallery-counter{color:var(--accent);font:700 13px var(--font-heading);white-space:nowrap}.screens-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.screen-card{border-radius:12px;background:var(--surface);border:1px solid var(--line);overflow:hidden;min-width:0}.screen-button{background:var(--surface-2);position:relative;width:100%;border:0;padding:0;display:block;cursor:zoom-in;overflow:hidden;aspect-ratio:1.55}.screen-button img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .4s ease}.screen-button:hover img{transform:scale(1.035)}.screen-zoom{position:absolute;bottom:12px;left:12px;background:rgba(12,16,23,.89);color:#fff;padding:8px 12px;border-radius:6px;font-size:11px;opacity:0;transition:opacity .2s}.screen-button:hover .screen-zoom,.screen-button:focus-visible .screen-zoom{opacity:1}.screen-caption{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:14px 16px;font-size:12px;color:var(--text)}.screen-caption small{font:600 10px var(--font-en);color:var(--muted);white-space:nowrap}.tech-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:15px}.tech-article,.process-article{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:clamp(20px,3vw,32px)}.box-kicker{font:700 10px/1.6 var(--font-en);letter-spacing:.12em;color:var(--violet)}.tech-groups{display:grid;gap:17px;margin-top:23px}.tech-group b{display:block;font-size:11px;color:var(--muted);font-weight:600;margin-bottom:7px}.tech-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:24px}.tech-tag{display:inline-flex;padding:8px 11px;color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:8px;direction:ltr;font:600 12px var(--font-en)}.tech-groups .tech-tags{margin-top:0}.flow-grid{display:grid;gap:0;margin-top:15px}.flow-item{display:grid;grid-template-columns:39px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.flow-item:last-child{border:0}.flow-item b{font:600 13px var(--font-heading);color:var(--accent);direction:ltr}.flow-item p{margin:0;font-size:13px;color:var(--muted);line-height:1.9}.progress-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.progress-groups{display:grid;gap:13px}.progress-item,.project-disclaimer{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px}.progress-item h3{font-size:15px;margin:0 0 12px}.progress-item ul{margin:0;padding:0 22px 0 0;color:var(--muted);font-size:13px;line-height:2.15}.project-disclaimer p{color:var(--muted);font-size:13px;line-height:2.1;margin:15px 0 0}.case-outro{margin:72px 0 60px;border:1px solid var(--line);border-radius:17px;background:var(--surface);padding:clamp(24px,4vw,47px);display:flex;justify-content:space-between;align-items:center;gap:35px}.case-outro h2{font-size:clamp(25px,3.1vw,42px);margin:10px 0}.case-outro h2 em{color:var(--accent);font-style:normal}.case-outro p{color:var(--muted);font-size:13px;margin:0}.outro-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:end}.case-related{padding-bottom:65px}.related-title{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:20px}.related-title h2{margin:7px 0 0;font-size:clamp(25px,2.6vw,35px)}.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.related-card{display:flex;gap:12px;align-items:center;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:10px;min-width:0;transition:border .2s}.related-card:hover{border-color:var(--accent)}.related-card img{width:90px;aspect-ratio:1.3;object-fit:cover;object-position:top;border-radius:6px}.related-card span{min-width:0;display:grid;gap:5px}.related-card small{color:var(--muted);font-size:10px}.related-card b{font-size:12px;line-height:1.5}.case-pager{margin-top:22px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.case-pager a{color:var(--accent);font-size:12px;font-weight:700}.lightbox{position:fixed;inset:0;max-width:100vw;max-height:100dvh;width:100vw;height:100dvh;border:0;background:rgba(10,13,19,.98);color:white;padding:16px;overflow:hidden}.lightbox::backdrop{background:rgba(4,5,8,.94)}.lightbox-header{display:flex;justify-content:space-between;align-items:center;direction:ltr;font:700 12px var(--font-en);letter-spacing:.1em;color:#c2ced9;padding:0 10px 10px}.lightbox-header button{background:#28313d;color:#fff;border:1px solid #495563;width:43px;height:43px;border-radius:11px;font-size:27px}.lightbox-stage{height:calc(100% - 65px);display:grid;grid-template-columns:50px minmax(0,1fr) 50px;align-items:center;gap:13px;direction:rtl}.lightbox-stage button{background:#1e2732;border:1px solid #495362;color:#fff;border-radius:50%;width:45px;height:45px;font-size:21px}.lightbox-stage figure{margin:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-width:0;min-height:0;height:100%}.lightbox-stage img{max-width:100%;max-height:calc(100% - 45px);object-fit:contain;border-radius:9px}.lightbox-stage figcaption{color:#bbc5cf;font-size:12px;text-align:center}.lightbox[open]{display:block}
@media(max-width:900px){.case-hero{gap:25px}.case-hero h1{font-size:clamp(35px,4.5vw,50px)}.case-anchor-nav{top:68px}.related-card{flex-direction:column;align-items:start}.related-card img{width:100%;aspect-ratio:1.75}.related-card span{padding:0 5px 8px}}
@media(max-width:650px){.case-header-nav{display:none!important}.case-mobile-nav{display:none;position:fixed;top:68px;left:0;right:0;background:var(--bg);padding:15px 18px;border-bottom:1px solid var(--line);box-shadow:var(--shadow);z-index:51;flex-direction:column}.case-mobile-nav.open{display:flex}.case-mobile-nav a{padding:12px;min-height:44px}.case-hero{padding:25px 0 40px;grid-template-columns:1fr;gap:25px}.case-hero h1{font-size:clamp(37px,10vw,53px);margin:17px 0 3px}.case-en{margin-bottom:12px}.case-lead{font-size:13px}.case-actions{margin-top:18px}.case-featured-visual{padding:10px}.case-featured-visual img{aspect-ratio:1.5}.case-anchor-nav{gap:13px}.case-anchor-nav a{font-size:11px;padding-block:13px}.case-section{padding:48px 0}.section-marker h2{font-size:30px}.overview-layout,.challenge-layout,.tech-layout,.progress-layout{grid-template-columns:1fr}.overview-main,.overview-aside,.challenge-item,.tech-article,.process-article{padding:21px}.overview-aside{gap:7px}.challenge-item{min-height:unset}.challenge-number{margin-bottom:16px}.features-grid{grid-template-columns:1fr}.screens-grid{grid-template-columns:1fr}.screen-button{aspect-ratio:1.65}.screen-zoom{opacity:1}.case-outro{margin:48px 0 42px;display:grid;gap:21px}.outro-actions{justify-content:start}.related-grid{grid-template-columns:1fr}.related-card{flex-direction:row;align-items:center}.related-card img{width:92px}.case-pager{flex-direction:column}.lightbox{padding:9px}.lightbox-stage{grid-template-columns:39px minmax(0,1fr) 39px;gap:3px}.lightbox-stage button{height:37px;width:37px;font-size:16px}}
@media(max-width:360px){.case-hero h1{font-size:34px}.case-meta>span{font-size:10px}.case-section h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.screen-button img,.related-card{transition:none}}
