/* Ten responsive compositions, one content model and one RTL-safe visual system. */
.card.samurai-card { --card-ink:#f0f3f6; --card-muted:#b4bfcd; --card-line:#31404c; --card-accent:#ff2738; --card-surface:#0b1116; container:samurai-card / inline-size; position:relative; display:flex; border:1px solid var(--card-line); border-radius:14px; background:var(--card-surface); color:var(--card-ink); box-shadow:none; overflow:hidden; text-align:start; }
.sc-card__layout { position:relative; display:flex; flex:1; flex-direction:column; inline-size:100%; min-inline-size:0; background:linear-gradient(130deg,#111a20,#090e12); }
.sc-card__media { position:relative; flex:none; inline-size:100%; aspect-ratio:16 / 8; overflow:hidden; background:#18232d; }
.sc-card__media > img,.sc-card__placeholder { display:block; inline-size:100%; block-size:100%; object-fit:cover; }
.sc-card__media > img { transition:transform .35s ease; }
.cards-lift .samurai-card:hover .sc-card__media > img { transform:none; }
.sc-card__placeholder { display:grid; place-items:center; background:radial-gradient(ellipse at 20% 20%,#422330,transparent 70%),#14202a; color:#8492a4; }
.sc-card__placeholder .icon { inline-size:36px; block-size:36px; stroke-width:1; }
.sc-card__category { position:relative; margin-block-end:10px; pointer-events:none; }
.sc-card__body { display:flex; flex:1; flex-direction:column; gap:0; min-inline-size:0; padding:18px; }
.sc-card__title { margin:0 0 10px; font-size:clamp(18px,5.5cqi,25px); overflow-wrap:anywhere; text-wrap:pretty; }
.sc-card__title-text { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:var(--title-lines,2); overflow:hidden; }
/* These compositions use the metadata accent; sidebar placements keep the shared title underline. */
.samurai-card:is(.samurai-card--portrait,.samurai-card--video,.samurai-card--tall,.samurai-card--standard,.samurai-card--brief,.samurai-card--mini,.samurai-card--list,.samurai-card--gallery):not(:where(.sidebar *)) .sc-card__title { background-image:none; background-size:auto; transition:none; }
.samurai-card:is(.samurai-card--featured,.samurai-card--landscape,.samurai-card--portrait,.samurai-card--tall,.samurai-card--brief) { --title-lines:3; }
.sc-card__title > a { color:inherit; text-decoration:none; }
.sc-card__title > a::after { content:""; position:absolute; z-index:4; inset:0; border-radius:14px; }
.sc-card__excerpt { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin:0 0 16px; font-size:clamp(14px,4cqi,18px); overflow-wrap:anywhere; }
.sc-card__footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-block-start:auto; padding-block-start:6px; min-inline-size:0; }
.sc-card__meta { display:flex; flex:1; flex-wrap:wrap; align-items:center; gap:7px 12px; min-inline-size:0; color:#aebccb; font-size:11px; font-weight:400; line-height:1.5; }
.sc-card__meta > span { display:inline-flex; align-items:center; gap:5px; min-inline-size:0; }
.sc-card__meta .icon { inline-size:16px; block-size:16px; flex:none; stroke-width:1.5; }
.sc-card__meta .card__time { color:inherit; font-size:inherit; white-space:normal; }
.sc-card__meta > span + span { padding-inline-start:10px; border-inline-start:1px solid #354551; }
.sc-card__author { display:inline-flex; align-items:center; gap:9px; color:#eef2f6; font-size:13px; font-weight:600; }
.sc-card__author img { inline-size:42px; block-size:42px; object-fit:cover; border:1px solid #a42a36; border-radius:50%; }
.samurai-card .fields-list { position:relative; z-index:5; color:#b8c4d3; }
/* 01: full photograph, generous story and author rail. */
.samurai-card--featured .sc-card__layout { min-block-size:560px; justify-content:end; }
.samurai-card--featured .sc-card__media,.samurai-card--portrait .sc-card__media,.samurai-card--panorama .sc-card__media { position:absolute; inset:0; block-size:100%; aspect-ratio:auto; }
.samurai-card--featured .sc-card__media::after,.samurai-card--portrait .sc-card__media::after,.samurai-card--panorama .sc-card__media::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#070d11 0%,rgb(7 13 17 / 93%) 15%,rgb(7 13 17 / 38%) 60%,transparent); }
.samurai-card--featured .sc-card__body { position:relative; flex:0 1 auto; justify-content:end; padding:260px 28px 24px; }
.samurai-card--featured .sc-card__title { font-size:clamp(25px,5.3cqi,44px); font-weight:800; line-height:1.2; margin-block-end:18px; }
.samurai-card--featured .sc-card__excerpt { font-size:clamp(16px,2.8cqi,21px); margin-block-end:24px; }
.samurai-card--featured .sc-card__footer { gap:14px 20px; }
.samurai-card--featured .sc-card__meta { justify-content:center; font-size:12px; }
/* 02: a horizontal editorial row, rather than another stacked image card. */
.samurai-card--landscape .sc-card__layout { display:grid; grid-template-columns:minmax(80px,.72fr) minmax(0,1.28fr); min-block-size:200px; }
.samurai-card--landscape .sc-card__media { aspect-ratio:auto; block-size:100%; }
.samurai-card--landscape .sc-card__body { padding:16px; }
.samurai-card--landscape .sc-card__title { font-size:clamp(17px,5cqi,23px); }
.samurai-card--landscape .sc-card__excerpt { font-size:13px; -webkit-line-clamp:2; }
/* 03: medium photograph with headline over the image. */
.samurai-card--portrait .sc-card__layout { min-block-size:285px; justify-content:end; }
.samurai-card--portrait .sc-card__body { position:relative; flex:0 1 auto; padding:140px 20px 18px; }
.samurai-card--portrait .sc-card__title { font-size:clamp(20px,6cqi,29px); }
/* 04: framed widescreen media, with truthful content / preview markers. */
.samurai-card--video .sc-card__layout { background:#090f15; }
.samurai-card--video .sc-card__media { inline-size:calc(100% - 24px); margin:12px 12px 0; aspect-ratio:16 / 9; border:1px solid #35404c; border-radius:9px; background:#05090d; }
.samurai-card--video .sc-card__media::after { content:""; position:absolute; inset:0; background:rgb(0 0 0 / 20%); pointer-events:none; }
.sc-card__play { position:absolute; z-index:1; inset:0; display:grid; place-items:center; inline-size:46px; block-size:46px; margin:auto; border:1px solid rgb(255 255 255 / 40%); border-radius:12px; background:rgb(9 15 22 / 76%); color:#f4f6f9; box-shadow:0 5px 18px rgb(0 0 0 / 20%); }
.sc-card__play .icon { inline-size:22px; block-size:22px; fill:currentColor; stroke-width:1; margin:0; transform:translateX(2px); }
/* 05: a taller photograph, useful in narrower columns. */
.samurai-card--tall .sc-card__media { aspect-ratio:4 / 4.5; max-block-size:380px; }
.samurai-card--tall .sc-card__title { font-size:clamp(19px,6cqi,27px); }
/* 06 and 07: restrained standard and brief cards. */
.samurai-card--standard .sc-card__media { aspect-ratio:16 / 9; }
.samurai-card--brief .sc-card__title { font-size:clamp(18px,6cqi,23px); }
.samurai-card--brief .sc-card__body { min-block-size:180px; padding:20px; }
.samurai-card--brief .sc-card__body::before { content:"//"; margin-block-end:20px; color:var(--c-crimson); font-size:22px; font-weight:700; line-height:1; letter-spacing:-.12em; }
/* 08: short, wide photographic strip. */
.samurai-card--panorama .sc-card__layout { min-block-size:160px; justify-content:end; }
.samurai-card--panorama .sc-card__body { position:relative; flex:0 1 auto; padding:64px 22px 18px; }
.samurai-card--panorama .sc-card__title { padding-inline-end:48px; margin:0; font-size:clamp(19px,4.5cqi,27px); }
.samurai-card--panorama .sc-card__footer { position:absolute; inset-inline-end:18px; inset-block-end:18px; padding:0; }
/* 09 and 10: real article links with a small thumbnail. */
.samurai-card--list .sc-card__layout,.samurai-card--mini .sc-card__layout { display:grid; grid-template-columns:96px minmax(0,1fr); gap:14px; align-items:center; padding:14px; }
.samurai-card--list .sc-card__media,.samurai-card--mini .sc-card__media { aspect-ratio:1; border-radius:9px; }
.samurai-card--list .sc-card__body,.samurai-card--mini .sc-card__body { padding:0; }
.samurai-card--list .sc-card__title,.samurai-card--mini .sc-card__title { font-size:clamp(16px,4.7cqi,21px); margin-block-end:10px; }
.samurai-card--list .sc-card__footer,.samurai-card--mini .sc-card__footer { padding:0; }
.samurai-card--list .sc-card__read { display:none; }
.samurai-card--mini .sc-card__layout { grid-template-columns:40px minmax(0,1fr); gap:10px; padding:10px; }
.samurai-card--mini .sc-card__media { inline-size:40px; block-size:40px; border-radius:8px; }
.samurai-card--mini .sc-card__title { font-size:clamp(15px,5cqi,19px); }
.samurai-card--mini .sc-card__meta > span { padding:0; border:0; }
.samurai-card--plain .sc-card__body { padding:18px; }
.samurai-card--plain .sc-card__layout { min-block-size:0; }
.samurai-card--plain.samurai-card--landscape .sc-card__layout { display:flex; }
.samurai-card--plain:is(.samurai-card--featured,.samurai-card--portrait,.samurai-card--panorama) .sc-card__body { padding:20px; }
.samurai-card--plain:is(.samurai-card--list,.samurai-card--mini) .sc-card__layout { display:flex; padding:0; }
@container samurai-card (max-width:460px) {
 .samurai-card--featured .sc-card__layout { min-block-size:400px; }
 .samurai-card--featured .sc-card__body { padding:180px 18px 18px; }
 .samurai-card--featured .sc-card__author { display:none; }
 .samurai-card--featured .sc-card__meta { flex:1 1 100%; justify-content:flex-start; }
 .samurai-card--panorama .sc-card__layout { min-block-size:150px; }
 .samurai-card--list .sc-card__layout { grid-template-columns:76px minmax(0,1fr); gap:12px; padding:12px; }
 .samurai-card--list .sc-card__date { display:none; }
 .sc-card__meta { gap:6px 8px; }
 .sc-card__meta > span + span { padding-inline-start:7px; }
}
@container samurai-card (max-width:260px) {
 .sc-card__body { padding:13px; }
 .sc-card__title { font-size:17px; }
 .sc-card__meta { font-size:10px; }
 .sc-card__meta .icon { inline-size:14px; block-size:14px; }
 .sc-card__meta > span + span { padding-inline-start:5px; }
 .sc-card__date { display:none; }
 .samurai-card--list .sc-card__layout { grid-template-columns:52px minmax(0,1fr); gap:9px; padding:10px; }
 .samurai-card--list .sc-card__title,.samurai-card--mini .sc-card__title { font-size:14px; }
 .samurai-card--tall .sc-card__media { aspect-ratio:4 / 4; }
 .samurai-card--portrait .sc-card__body { padding:120px 14px 14px; }
 .samurai-card--panorama .sc-card__body { padding:60px 14px 14px; }
 .samurai-card--panorama .sc-card__title { font-size:17px; }
 .samurai-card--plain .sc-card__body { padding:13px; }
}
@media (prefers-reduced-motion:reduce) { .sc-card__media > img { transition:none; } }

/* 11: a genuine gallery mosaic; the gallery page explicitly marks sample images. */
.samurai-card--gallery .sc-card__media { aspect-ratio:16 / 11; }
.sc-gallery { display:grid; grid-template-columns:1.55fr 1fr; grid-template-rows:repeat(2,minmax(0,1fr)); gap:3px; inline-size:100%; block-size:100%; }
.sc-gallery > img { display:block; inline-size:100%; block-size:100%; min-block-size:0; object-fit:cover; }
.sc-gallery > img:first-child { grid-row:1 / -1; }
.sc-gallery--1 { grid-template-columns:1fr; }
.sc-gallery--2 > img:last-child { grid-row:1 / -1; }
.sc-media-label { position:absolute; z-index:2; inset-inline-start:10px; inset-block-start:10px; display:inline-flex; align-items:center; gap:5px; padding:4px 7px; border:1px solid rgb(255 255 255 / 18%); border-radius:5px; background:rgb(9 15 22 / 82%); color:#edf2f7; font:400 10px/1.4 Heebo,Arial,sans-serif; }
.sc-media-label .icon { inline-size:12px; block-size:12px; stroke-width:1.5; }
.samurai-card--gallery .sc-media-label { inset-block-start:auto; inset-block-end:10px; }

/* 12: a small audio edition — cover art, a studio disc and a static sound signature. */
.samurai-card--podcast .sc-card__layout { background:linear-gradient(155deg,#14202b,#0a1118); }
.samurai-card--podcast .sc-card__media { aspect-ratio:auto; background:radial-gradient(ellipse at 20% 45%,rgb(215 38 61 / 15%),transparent 70%),linear-gradient(135deg,#182331,#0b121c); border-block-end:1px solid rgb(255 255 255 / 6%); }
.sc-podcast { position:relative; display:flex; flex-direction:column; gap:14px; padding:16px 18px 14px; }
.sc-podcast__masthead { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.sc-podcast__label { display:inline-flex; align-items:center; gap:6px; color:#cbd5e1; font:400 10px/1.5 Heebo,Arial,sans-serif; }
.sc-podcast__label > .icon { inline-size:12px; block-size:12px; color:var(--c-crimson); stroke-width:1.5; }
.sc-podcast__signature { color:#8493a6; font:500 8px/1.4 Heebo,Arial,sans-serif; letter-spacing:.13em; white-space:nowrap; direction:ltr; }
.sc-podcast__stage { position:relative; inline-size:100%; max-inline-size:270px; block-size:148px; margin-inline:auto; }
.sc-podcast__disc { position:absolute; inset-inline-end:0; inset-block-start:3px; display:grid; place-items:center; inline-size:142px; block-size:142px; border:1px solid #3c424e; border-radius:50%; background:repeating-radial-gradient(circle,#0a0d13 0 3px,#242a34 4px,#0e131b 5px 7px); box-shadow:6px 10px 22px rgb(0 0 0 / 35%); }
.sc-podcast__disc-label { display:grid; place-items:center; inline-size:48px; block-size:48px; border:1px solid rgb(255 255 255 / 9%); border-radius:50%; background:linear-gradient(145deg,#ad2337,#631424); color:#f2ced4; }
.sc-podcast__disc-label > .icon { inline-size:18px; block-size:18px; stroke-width:1.25; }
.sc-podcast__cover { position:absolute; z-index:1; inset-inline-start:0; inset-block-start:12px; inline-size:124px; block-size:124px; overflow:hidden; border:1px solid #58606e; border-radius:10px; background:#111b26; box-shadow:0 10px 22px rgb(0 0 0 / 38%),inset 0 1px 0 rgb(255 255 255 / 10%); }
.sc-podcast__cover > img,.sc-podcast__cover > .sc-card__placeholder { inline-size:100%; block-size:100%; object-fit:cover; }
.sc-podcast__signal { display:flex; align-items:center; gap:10px; }
.sc-podcast__signal::before,.sc-podcast__signal::after { content:""; flex:1; block-size:1px; background:linear-gradient(90deg,transparent,#66303c,transparent); }
.sc-podcast__wave { display:block; flex:none; inline-size:112px; block-size:22px; color:var(--c-crimson); opacity:.75; }
.samurai-card--podcast .sc-card__body { padding:18px; }
.samurai-card--podcast .sc-card__title { font-size:clamp(19px,6cqi,25px); line-height:1.35; }
.samurai-card--podcast .sc-card__excerpt { -webkit-line-clamp:2; font-size:13px; }
@container samurai-card (max-width:230px) {
 .sc-podcast { padding-inline:14px; }
 .sc-podcast__cover { inline-size:108px; block-size:108px; inset-block-start:20px; }
 .sc-podcast__signature { display:none; }
}

/* 13: a product module, with quiet circuitry surrounding its actual identity. */
.samurai-card--tool .sc-card__layout { background:linear-gradient(150deg,#16212c,#0a1118 80%); }
.samurai-card--tool .sc-card__media { aspect-ratio:auto; border-block-end:1px solid rgb(255 255 255 / 7%); background:radial-gradient(ellipse at 50% 65%,rgb(215 38 61 / 11%),transparent 65%),#101923; }
.sc-tool { position:relative; padding:16px 18px 0; }
.sc-tool__masthead { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.sc-tool__label { display:inline-flex; align-items:center; gap:6px; color:#cbd5e1; font:400 10px/1.5 Heebo,Arial,sans-serif; }
.sc-tool__label > .icon { inline-size:12px; block-size:12px; color:var(--c-crimson); stroke-width:1.5; }
.sc-tool__signature { color:#8493a6; font:500 8px/1.4 Heebo,Arial,sans-serif; letter-spacing:.13em; white-space:nowrap; direction:ltr; }
.sc-tool__stage { position:relative; display:grid; place-items:center; block-size:124px; }
.sc-tool__stage::before { content:""; position:absolute; inline-size:110px; block-size:110px; border:1px solid rgb(215 38 61 / 22%); border-radius:26px; background:rgb(215 38 61 / 3%); }
.sc-tool__circuits { position:absolute; inset:0; inline-size:100%; block-size:100%; color:#70404d; opacity:.65; }
.sc-tool__identity { position:relative; display:grid; place-items:center; inline-size:88px; block-size:88px; padding:8px; border:1px solid #536171; border-radius:19px; background:linear-gradient(145deg,#263340,#131e2a); box-shadow:0 8px 18px rgb(0 0 0 / 25%),inset 0 1px 0 rgb(255 255 255 / 12%); }
.sc-tool__identity > img,.sc-tool__identity > .sc-card__placeholder { display:block; inline-size:100%; block-size:100%; object-fit:contain; border-radius:10px; }
.sc-tool__identity .sc-card__placeholder > .icon { inline-size:26px; block-size:26px; }
.samurai-card--tool .sc-card__body { padding:18px; }
.samurai-card--tool .sc-card__excerpt { -webkit-line-clamp:3; font-size:13px; }
.samurai-card--tool .sc-card__title { font-size:clamp(19px,6cqi,25px); }

/* Product-card spacing stays aligned across compact and full-width placements. */
.samurai-card--tool { --tool-inset:clamp(12px,5cqi,18px); }
.samurai-card--tool .sc-tool { padding:var(--tool-inset) var(--tool-inset) 8px; }
.samurai-card--tool .sc-tool__masthead { min-block-size:24px; flex-wrap:wrap; gap:6px 10px; }
.samurai-card--tool .sc-tool__masthead .sc-card__category { position:static; inset:auto; margin:0; max-inline-size:100%; white-space:normal; overflow-wrap:anywhere; font-size:10px; line-height:1.5; padding:4px 8px; }
.samurai-card--tool .sc-tool__stage { margin-block-start:8px; }
.samurai-card--tool .sc-card__body { padding:var(--tool-inset); }
.samurai-card--tool .sc-card__title { margin-block:0 10px; line-height:1.35; }
.samurai-card--tool .sc-card__excerpt { margin-block:0 14px; line-height:1.65; }
.samurai-card--tool .fields-list { margin-block:0 14px; }
.samurai-card--tool .sc-card__footer { gap:10px; padding-block-start:12px; }
