/* Anastasia: approved blue/yellow artwork, neutral reading text, existing modules. */
:root{--price-paper:#fff;--price-accent:#24212c;--price-text:#24212c;--paper:#fff;--ink:#24212c;--body:#24212c;--july-color-heading:#24212c}
.july-site{color:#24212c;background:#fff}
.july-site :is(.intro,.meta,.contact-link,.contact-link span,.contact-section .intro,.contact-section .meta,.reviews-section .intro,.review-author,.review-quote){color:#24212c}
.july-site :is(.topic-slide h3,.catalog-card,.catalog-price,.catalog-name,.catalog-no-photo){color:#24212c}
#price .catalog-no-photo{color:#24212c}
.cases-section{--ink:#24212c;--body:#24212c;--paper:#fff;--july-color-heading:#24212c}
.cases-section :is(.intro,.meta,#afisha-text){color:#24212c}
#afisha-text:empty{display:none}
.july-event-dialog{--ink:#24212c;--body:#24212c;--paper:#fff;--july-color-heading:#24212c;color:#24212c;background:#fff}
.july-event-dialog :is(.july-event-detail-title,.july-event-description,.july-event-price,.july-month-price-label,.july-event-details){color:#24212c}
:is(.july-event-booking,.contact-section .button){background:var(--stasia-blue);color:#fff}
.july-event-dialog :is(.july-event-dialog-head,.july-event-detail-action){border-color:#e9e4f3;background:#fff}
.july-event-close:hover{background:#f4efff}
#about .about-grid{margin-top:0;gap:var(--july-space-6)}
#about .about-panels{display:grid;gap:var(--july-space-5);margin-top:var(--july-space-5)}
#about .about-panels>details{border:0;margin:0;padding:0}
#about .about-panels>details>summary{display:list-item;list-style:disclosure-closed;margin:0;cursor:pointer;font:600 var(--july-font-body-size)/var(--july-line-body) var(--july-font-body);color:#24212c}
#about .about-panels>details[open]>summary{list-style:disclosure-open;margin-bottom:var(--july-title-body-gap)}
#about .about-panels>details:not([open])>:not(summary){display:none}
#about-experience h3{margin-top:var(--july-space-5)}
.topics-story{margin-block:var(--july-space-5)}
.topics-viewport{align-items:stretch;scroll-padding-right:var(--july-space-5)}
.topic-slide{flex:0 0 min(650px,85vw);scroll-snap-align:start;box-sizing:border-box;padding:var(--july-space-5);border-radius:24px;background:#fff;min-width:0}
.topic-slide h3{font:600 var(--july-font-accent-size)/1.35 var(--july-font-body)}
.topic-slide p:last-child{margin-bottom:0}
/* Five desktop lines / eight mobile lines; full original remains on expansion. */
.review-slide{--review-lines:5}
.review-head{min-height:calc(2 * var(--july-font-body-size) * var(--july-line-body))}
.review-quote{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--review-lines);line-clamp:var(--review-lines);overflow:hidden;min-height:calc(var(--review-lines) * var(--july-font-body-size) * var(--july-line-reading))}
.review-slide.is-expanded .review-quote{display:block;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible}
.review-expand-row{min-height:calc(var(--july-font-body-size) * var(--july-line-body));margin-top:var(--july-space-4)}
.review-expand{border:0;background:none;padding:0;color:#24212c;font:600 var(--july-font-body-size)/var(--july-line-body) var(--july-font-body);text-decoration:underline;text-underline-offset:4px}
.cases-reader-nav{display:flex;align-items:center;gap:var(--july-space-4);margin-right:auto}
.cases-reader-nav button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #e9e4f3;border-radius:50%;background:#fff;color:#24212c;font:inherit;cursor:pointer}
.cases-reader-nav button:disabled{opacity:.3;cursor:default}
.cases-reader-count{font:400 var(--july-font-meta-size)/var(--july-line-meta) var(--july-font-body)}
#july-event-detail.july-single-dialog>.july-event-dialog-head{flex-wrap:nowrap}
@media(max-width:700px){.review-slide{--review-lines:8}.topic-slide{flex-basis:85vw}#july-event-detail.july-single-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}#july-event-detail.july-single-dialog>.july-event-dialog-body{padding:var(--july-gutter)} }

/* Let the final card align with the reading edge on wide viewports too. */
.reviews-viewport::after{content:"";flex:0 0 max(0px,calc(100% - min(650px,85vw) - var(--july-space-5)))}
.review-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--july-space-4)}
.review-card-stars:empty{display:none}.review-head:has(.review-card-stars:empty) .review-byline{grid-column:1/-1}
