/* Shared media frame + placeholder */
.ds-media{position:relative;aspect-ratio:16/9;border-radius:var(--radius-image);overflow:hidden;background:var(--cool-200)}
.ds-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--dur-slow) var(--ease-out)}
.ds-media--ph{display:flex;align-items:center;justify-content:center;color:var(--cool-500);background:linear-gradient(135deg,var(--cool-100),var(--cool-300))}
/* Designed cover — a branded gradient thumbnail when there is no photo */
.ds-cover{position:relative;width:100%;height:100%;display:flex;align-items:flex-end;padding:14px;overflow:hidden}
.ds-cover::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(-45deg,rgba(255,255,255,.07) 0,rgba(255,255,255,.07) 2px,transparent 2px,transparent 13px)}
.ds-cover__glyph{position:absolute;top:-14px;right:-14px;color:rgba(255,255,255,.18);line-height:0}
.ds-cover__label{position:relative;font-family:var(--font-ui);font-weight:var(--fw-bold);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--white);background:rgba(255,255,255,.2);padding:5px 11px;border-radius:var(--radius-pill)}
.ds-cover--navy{background:linear-gradient(135deg,var(--navy-500),var(--navy-800))}
.ds-cover--sky{background:linear-gradient(135deg,var(--sky-500),var(--navy-700))}
.ds-cover--blue{background:linear-gradient(135deg,var(--blue-200),var(--sky-600))}
.ds-cover--coral{background:linear-gradient(135deg,var(--coral-500),var(--navy-700))}
.ds-cover--ink{background:linear-gradient(135deg,var(--cool-600),var(--navy-900))}

/* Article card (listing) */
.ds-acard{display:flex;flex-direction:column;gap:8px;max-width:460px}
.ds-acard__media-link{display:block;text-decoration:none}
.ds-acard__title-link{display:flex;flex-direction:column;gap:7px;text-decoration:none;color:inherit}
.ds-acard__body{display:flex;flex-direction:column;gap:7px}
.ds-acard__kicker{font-family:var(--font-heading);font-weight:var(--fw-bold);font-size:13px;line-height:1.4;color:var(--text-primary)}
.ds-acard__date{font-family:var(--font-ui);font-weight:var(--fw-bold);font-size:12px;letter-spacing:.02em;color:var(--text-tertiary);font-variant-numeric:tabular-nums}
.ds-acard .ds-acard__title{margin:0;padding:0;border:0;font-family:var(--font-heading);font-weight:var(--fw-bold);font-size:15.5px;line-height:1.5;color:var(--ink)}
.ds-acard:hover .ds-media img{transform:var(--media-zoom)}
.ds-acard__title-link:hover .ds-acard__title{text-decoration:underline;text-underline-offset:2px}
.ds-acard__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
/* Boxed (card-like) variant */
.ds-acard--boxed{gap:0;background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-card);overflow:hidden;transition:transform var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard)}
.ds-acard--boxed:hover{transform:var(--hover-lift);box-shadow:var(--shadow-md)}
.ds-acard--boxed .ds-media{border-radius:0}
.ds-acard--boxed .ds-media:has(.ds-eth){border-radius:var(--radius-card) var(--radius-card) 0 0}
.ds-acard--boxed .ds-acard__body{padding:12px 14px 15px}

/* Recommend / related card */
.ds-rcard{display:flex;text-decoration:none;color:inherit}
.ds-rcard--stack{flex-direction:column;gap:10px}
.ds-rcard--row{flex-direction:row;gap:12px;align-items:flex-start}
.ds-rcard--row .ds-media{flex:0 1 116px;max-width:116px}
.ds-rcard__body{display:flex;flex-direction:column;gap:6px;min-width:0}
.ds-rcard__title{font-family:var(--font-heading);font-weight:var(--fw-bold);font-size:13.5px;line-height:1.5;color:var(--ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ds-rcard:hover .ds-media img{transform:var(--media-zoom)}
.ds-rcard:hover .ds-rcard__title{text-decoration:underline;text-underline-offset:2px}

/* Job card (recruit) */
.ds-jobcard{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-card);overflow:hidden;text-decoration:none;color:inherit;transition:transform var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard)}
.ds-jobcard:hover{transform:var(--hover-lift);box-shadow:var(--shadow-sm)}
.ds-jobcard .ds-media{border-radius:0}
.ds-jobcard__body{display:flex;flex-direction:column;gap:9px;padding:16px 16px 18px}
.ds-jobcard__name{font-family:var(--font-heading);font-weight:var(--fw-bold);font-size:15px;line-height:1.45;color:var(--ink)}
.ds-jobcard__row{display:flex;gap:8px;align-items:flex-start;font-family:var(--font-body);font-size:12.5px;line-height:1.55;color:var(--text-secondary)}
.ds-jobcard__row .ds-icon{color:var(--cool-500);margin-top:2px}
.ds-jobcard__ext{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:var(--radius-circle);background:rgba(255,255,255,.92);display:inline-flex;align-items:center;justify-content:center;color:var(--ink);box-shadow:var(--shadow-xs)}

/* Editorial thumbnail — designed magazine cover; fills the media frame and scales type to its width */
.ds-eth{container-type:inline-size;position:relative;width:100%;height:100%;overflow:hidden;background:var(--blue-50);font-family:var(--font-heading);box-sizing:border-box;border:4px solid var(--blue-500);border-radius:inherit}
.ds-eth--grid{background-image:linear-gradient(rgba(17,118,212,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(17,118,212,.09) 1px,transparent 1px);background-size:7.5cqw 7.5cqw}
.ds-eth--diag::after{content:"";position:absolute;inset:0;background:var(--blue-100);clip-path:polygon(0 100%,100% 0,100% 100%)}
.ds-eth--diagT::after{content:"";position:absolute;inset:0;background:var(--blue-100);clip-path:polygon(0 0,100% 0,0 100%)}
.ds-eth--blob::after{content:"";position:absolute;width:62%;height:150%;right:-14%;top:-25%;border-radius:50%;background:var(--blue-100)}
.ds-eth__row{position:relative;z-index:1;height:100%;display:flex;align-items:center;padding:5cqw 5.5cqw}
.ds-eth__col{position:relative;z-index:1;flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2cqw;max-width:56%}
.ds-eth__boxes{display:flex;flex-direction:column;align-items:flex-start;gap:1.6cqw;max-width:100%}
.ds-eth__box{background:#fff;color:var(--navy-700);font-weight:900;border-radius:5px;padding:.36em .72em;box-shadow:0 2px 9px rgba(20,30,60,.11);line-height:1.28;font-size:clamp(12px,4.4cqw,18px);white-space:nowrap;max-width:100%}
.ds-eth__block{background:var(--navy-700);color:#fff;font-weight:900;border-radius:5px;padding:.36em .8em;box-shadow:0 2px 9px rgba(20,30,60,.11);line-height:1.28;font-size:clamp(12px,4.4cqw,18px);letter-spacing:.03em;white-space:nowrap}
.ds-eth__hl{color:var(--coral-500)}
.ds-eth__hl--blue{color:var(--blue-500)}
.ds-eth__top{background:var(--blue-100);color:var(--navy-700);font-family:var(--font-ui);font-weight:800;font-size:clamp(9px,2.8cqw,11px);letter-spacing:.04em;padding:.5em 1em;border-radius:5px}
.ds-eth__cat{position:absolute;z-index:3;top:0;right:0;background:var(--blue-500);color:#fff;font-family:var(--font-ui);font-weight:800;font-size:clamp(9px,2.9cqw,11px);letter-spacing:.06em;padding:.55em 1.1em;border-radius:0 0 0 11px}
.ds-eth__illo{position:absolute;z-index:1;pointer-events:none}
.ds-eth__illo img{width:100%;height:100%;object-fit:contain;display:block;transition:none}
.ds-eth--i-right .ds-eth__illo{right:4cqw;top:6cqw;bottom:6cqw;width:42%}
.ds-eth--i-bottomRight .ds-eth__illo{right:2cqw;bottom:0;width:40%;height:78%}
.ds-eth--i-bottomRight .ds-eth__row{align-items:flex-start;padding-top:6.5cqw}
.ds-eth--i-bottomRight .ds-eth__col{max-width:60%}
.ds-eth__dots{display:flex;gap:1.8cqw;margin-top:1.4cqw}
.ds-eth__dots i{width:3.4cqw;height:3.4cqw;border-radius:50%}
.ds-eth__dots i:nth-child(1){background:var(--navy-700)}
.ds-eth__dots i:nth-child(2){background:var(--blue-500)}
.ds-eth__dots i:nth-child(3){background:var(--sky-400)}
.ds-eth__dots i:nth-child(4){background:var(--coral-500)}
.ds-acard:hover .ds-eth__illo img,.ds-rcard:hover .ds-eth__illo img{transform:none}
