/* SEO case presentation adapted to the existing medical palette.
   Font sizes are shared with the source; family, weight and colours stay native. */
#cases .section-head{margin-bottom:40px}
#cases .case-card{height:auto;min-height:540px;grid-template-columns:40% minmax(0,1fr)}
#cases .case-shot{min-height:540px;background:#f6fbf8}
#cases .case-info{min-width:0;padding-left:30px;padding-right:28px}
#cases .case-logo{flex-shrink:0}
#cases .case-info h3{font-size:31px}
#cases .case-domain{font-size:13px}
#cases .case-period{font-size:9px}
#cases .case-results{margin-bottom:0;grid-template-columns:repeat(2,minmax(0,1fr))}
#cases .case-result{min-width:0}
#cases .case-result b{font-size:26px}
#cases .case-result span{font-size:12px}
#cases .traffic-chart{margin-top:20px}
#cases .traffic-head span{font-size:12px}
#cases .traffic-head b{font-size:21px;flex-shrink:0}
#cases .case-report-link{
 position:absolute;inset:14px;display:block;min-width:0;min-height:0;
 padding:0;border:3px solid #fff;border-radius:16px;background:#f6fbf8;overflow:hidden;
 cursor:default;
 -webkit-mask-image:linear-gradient(#000 calc(100% - 88px),transparent calc(100% - 24px));
 mask-image:linear-gradient(#000 calc(100% - 88px),transparent calc(100% - 24px));
}
#cases .case-report-link img{width:100%;height:auto;max-width:none;max-height:none;border-radius:13px 13px 0 0;object-fit:contain;object-position:top center;transform:none}
#cases .case-report-link:focus-visible{outline:3px solid var(--green);outline-offset:-4px}
#cases .case-report-hint{display:none;position:absolute;right:26px;bottom:26px;z-index:2;pointer-events:none;padding:8px 12px;border-radius:999px;background:var(--night);color:#fff;font-size:12px}
@media(orientation:portrait){#cases .case-report-link{-webkit-mask-image:none;mask-image:none}}
@media(max-width:1050px) and (orientation:portrait){
 #cases .case-report-link{cursor:zoom-in}
 #cases .case-report-hint{display:block}
}
@media(max-width:1050px){
 #cases .case-card{grid-template-columns:minmax(0,1fr);min-height:0}
 #cases .case-info{min-height:0}
}
@media(min-width:601px) and (max-width:1050px) and (orientation:portrait){
 #cases .case-shot{width:100%;height:auto;min-height:0;align-self:start;aspect-ratio:var(--case-report-half-ratio,.894)}
 #cases .case-report-link img{height:auto;object-fit:contain;object-position:top center}
}
@media(max-width:760px){#cases .section-head{margin-bottom:28px}}
@media(max-width:600px) and (orientation:portrait){
 #cases .case-shot{height:360px;min-height:0;aspect-ratio:auto}
 #cases .case-report-link img{height:100%;object-fit:cover;object-position:top right}
 #cases .case-info{min-height:0;padding:8px 18px 24px}
 #cases .case-logo{width:80%;max-width:152px;height:43.2px;margin-bottom:10px}
 #cases .case-logo img{position:static;width:auto;height:auto;max-width:100%;max-height:43.2px;object-fit:contain;object-position:left center;transform:none}
 #cases .case-logo .logo-round{max-width:51.2px;max-height:51.2px}
 #cases .case-info h3{margin-top:6px;font-size:20.8px}
 #cases .case-domain{font-size:14px}
 #cases .case-period{margin-top:10px;padding:4px 8px;font-size:11px}
 #cases .case-results{grid-template-columns:minmax(0,1fr);gap:10px;margin:16px 0 0}
 #cases .case-result{padding:12px}
 #cases .case-result:first-child{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px;row-gap:6px}
 #cases .case-result b{font-size:18px}
 #cases .case-result:first-child b{flex:0 0 auto}
 #cases .case-result:first-child span{flex:1 1 120px;min-width:0}
 #cases .case-result span{font-size:13px}
 #cases .traffic-chart{margin-top:20px;padding:16px;border-radius:18px}
 #cases .traffic-head{gap:12px}
 #cases .traffic-head span{font-size:10px;min-width:0}
 #cases .traffic-head b{font-size:17px}
 #cases .traffic-chart svg{height:98px}
}
#cases .case-report-link:not(.report-enabled){cursor:default}
#cases .case-shot:not(.report-can-open) .case-report-hint{display:none}
.medical-report-dialog{inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:24px;border:0;border-radius:0;background:transparent;color:var(--ink);overflow:hidden;overscroll-behavior:contain}
.medical-report-dialog[open]{display:grid;place-items:center}
.medical-report-dialog::backdrop{background:#09261ee6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.medical-report-dialog .report-frame{display:grid;place-items:center;width:max-content;max-width:92vw;min-width:0;height:auto;max-height:88vh;padding:16px;border-radius:22px;background:#f6fbf8;box-shadow:0 30px 90px #001b147a}
.medical-report-dialog[open] .report-frame{animation:medical-report-enter .28s cubic-bezier(.2,.75,.25,1)}
.medical-report-dialog .report-close{position:absolute;z-index:2;right:max(24px,calc((100vw - 960px)/2 - 54px));top:24px;display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--night);color:#effff7;cursor:pointer}
.medical-report-dialog .report-close svg{width:20px;height:20px}
.medical-report-dialog .report-image{display:block;width:auto;max-width:100%;height:auto;max-height:calc(88vh - 32px);border-radius:10px;object-fit:contain;background:#fff}
.medical-report-dialog .report-close:focus-visible{outline:3px solid var(--green);outline-offset:2px}
@media(max-width:760px){
 .medical-report-dialog{padding:12px}
 .medical-report-dialog .report-frame{max-width:94vw;max-height:86vh;padding:10px;border-radius:17px}
 .medical-report-dialog .report-image{max-height:calc(86vh - 20px)}
 .medical-report-dialog .report-close{right:17px;top:17px;width:42px;height:42px}
}
@keyframes medical-report-enter{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.medical-report-dialog[open] .report-frame{animation:none}}
