/* Approved Cases v1 page chrome. Card hooks, artwork, palette and opening modal stay owned by TSF. */
.tsf-cp.tsf-cp{--tsf-cp-ink:#f5f2ff;--tsf-cp-muted:#a7a6c1;box-sizing:border-box;container:tsf-cases-surface / inline-size;position:relative;isolation:isolate;min-height:100svh;overflow:hidden;width:100%;max-width:none;margin:0;color:var(--tsf-cp-ink);font:15px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif;background:radial-gradient(ellipse 760px 500px at 11% 18%,#51227b66,transparent 75%),radial-gradient(ellipse 760px 540px at 95% 66%,#0c7b9060,transparent 75%),linear-gradient(115deg,#100e1b 0%,#090b17 52%,#070d16 100%)}
.tsf-cp:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(#ffffff07 1px,transparent 1px),linear-gradient(90deg,#ffffff07 1px,transparent 1px);background-size:85px 85px;mask-image:linear-gradient(to bottom,transparent,#0006 25%,#0003 75%,transparent)}
.tsf-cp:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 52% 58%,transparent 20%,#05060965 100%)}
.tsf-cp .tsf-cp-wrap{width:min(1340px,calc(100% - 54px));margin:auto}
.tsf-cp :is(.tsf-cp-top,.tsf-cp-top h1,.tsf-cp-intro,.tsf-cp-how,.tsf-cp-how h2,.tsf-cp-how ol,.tsf-cp-how li,.tsf-cp-catalog){box-sizing:border-box;font-family:inherit}
.tsf-cp .tsf-cp-top{padding:70px 0 32px;margin:0;border:0;background:none}
.tsf-cp .tsf-cp-eyebrow{font-size:11px;letter-spacing:.26em;color:#44dffd;font-weight:850;text-transform:uppercase;display:flex;align-items:center;gap:13px;overflow-wrap:anywhere}
.tsf-cp .tsf-cp-eyebrow:before{content:"";height:1px;width:28px;flex-shrink:0;background:#44dffd}
.tsf-cp .tsf-cp-top h1{font-size:clamp(52px,7.4cqw,94px);line-height:.96;margin:0 0 17px;letter-spacing:-.065em;font-weight:900;text-transform:none;color:var(--tsf-cp-ink);overflow-wrap:anywhere}
.tsf-cp .tsf-cp-top h1 span{background:linear-gradient(95deg,#fff 2%,#d8b8ff 50%,#9063ff 96%);background-clip:text;color:transparent}
.tsf-cp .tsf-cp-intro{max-width:680px;color:var(--tsf-cp-muted);font-size:17px;line-height:1.55;margin:0}
.tsf-cp .tsf-cp-heading-row{display:flex;justify-content:space-between;align-items:end;gap:20px}
.tsf-cp .tsf-cp-sidecode{text-align:right;font-size:11px;letter-spacing:.2em;color:#959cbf;font-weight:750;flex-shrink:0}
.tsf-cp .tsf-cp-sidecode strong{display:block;color:#eee7ff;margin-bottom:6px}
.tsf-cp .tsf-cp-how{margin:27px 0 26px;padding:19px 24px;display:flex;align-items:center;gap:26px;flex-wrap:wrap;border:1px solid #b18afe35;border-radius:17px;background:linear-gradient(90deg,#251b3a99,#1015288c);box-shadow:inset 0 1px #ffffff0c}
.tsf-cp .tsf-cp-how h2{font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;margin:0 auto 0 0;color:var(--tsf-cp-ink);line-height:1.55}
.tsf-cp .tsf-cp-how ol{display:flex;gap:23px;flex-wrap:wrap;color:#c5c1d8;font-size:13px;list-style:none;margin:0;padding:0}
.tsf-cp .tsf-cp-how li{list-style:none;margin:0;padding:0;overflow-wrap:anywhere}
.tsf-cp .tsf-cp-how b{color:#b88cff;margin-right:8px}
.tsf-cp .tsf-cp-catalog{padding:0 0 90px;margin:0;border:0;background:none}
.tsf-cp .tsf-cases-grid{grid-template-columns:repeat(var(--tsf-case-columns,3),minmax(0,1fr));gap:24px;align-items:stretch}
.tsf-cp .tsf-case-card-wrap{min-width:0;height:100%}
.tsf-cp .tsf-case-card-wrap .tsf-case-link{display:flex!important;height:100%;outline-offset:4px}
.tsf-cp .tsf-case-link:focus-visible{outline:2px solid #44dffd}
/* Per-card IDs own palette variables; !important here overrides only their fixed geometry/chrome. */
.tsf-cp .tsf-case-card-wrap .tsf-card-surface{box-sizing:border-box;width:100%;max-width:none!important;min-width:0;min-height:100%;margin:0!important;padding:25px 24px 26px!important;border-radius:22px!important;border-width:1px!important;border-style:solid!important;border-color:color-mix(in srgb,var(--tsf-accent) 48%,transparent)!important;isolation:isolate;box-shadow:0 16px 40px #0008,0 0 30px color-mix(in srgb,var(--tsf-accent) 8%,transparent)!important;transition:box-shadow .25s!important}
.tsf-cp .tsf-card-surface:before{content:"";position:absolute;inset:-35%;background:radial-gradient(circle at 50% 39%,color-mix(in srgb,var(--tsf-accent) 21%,transparent),transparent 44%);z-index:-1;pointer-events:none}
.tsf-cp .tsf-card-surface:after{content:"";position:absolute;height:3px;left:20%;right:20%;top:0;background:var(--tsf-accent);box-shadow:0 0 24px var(--tsf-accent);opacity:.8;pointer-events:none}
.tsf-cp .tsf-case-card-wrap .tsf-card-surface:hover{box-shadow:0 28px 65px #0009,0 0 42px color-mix(in srgb,var(--tsf-accent) 23%,transparent)!important}
.tsf-cp .tsf-case-card-wrap .tsf-card-surface{display:flex!important;flex-direction:column;flex:1}
.tsf-cp .tsf-case-card-wrap .tsf-card-surface-inner{flex:1;min-height:100%;gap:14px!important}
.tsf-cp .tsf-case-card-wrap .tsf-crate{width:224px!important;max-width:100%!important;flex-basis:224px!important;margin:9px 0 0!important}
.tsf-cp .tsf-case-card-wrap .tsf-crate-face img.base{object-fit:contain;margin:0}
.tsf-cp .tsf-case-card-wrap .tsf-text{width:100%;min-width:0;flex:1!important;display:flex;flex-direction:column}
.tsf-cp .tsf-case-card-wrap .tsf-text .title{letter-spacing:-.025em}
.tsf-cp .tsf-case-card-wrap .tsf-cta{width:100%;margin-top:auto!important;padding-top:8px}
.tsf-cp .tsf-case-card-wrap .tsf-cta-btn{box-sizing:border-box;display:flex!important;width:100%;min-height:48px;padding:13px 20px!important;border-radius:12px!important;font-weight:900!important;white-space:normal!important;overflow-wrap:anywhere}
/* Only hosts containing this page module opt into full width; no viewport offsets. */
.tsf-cases-page :where(main,.wp-block-group,.wp-block-post-content,.entry-content,.entry,.content-area,.site-content):has(.tsf-cp){max-width:none;width:100%;margin-inline:0!important;padding-inline:0!important}
.tsf-cases-page main:has(.tsf-cp),.tsf-cases-page main .wp-block-group:has(.tsf-cp){margin-block:0!important;padding-block:0!important}
.tsf-cases-page main:has(.tsf-cp){background:#080910}
.tsf-cases-page main:has(.tsf-cp) .wp-block-post-title{color:var(--tsf-cp-ink,#f5f2ff)}
@container tsf-cases-surface (max-width:1000px){.tsf-cp .tsf-cases-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tsf-cp .tsf-cp-how{align-items:start}}
@container tsf-cases-surface (max-width:680px){.tsf-cp .tsf-cp-wrap{width:calc(100% - 28px)}.tsf-cp .tsf-cp-top{padding:45px 0 22px}.tsf-cp .tsf-cp-heading-row{align-items:start}.tsf-cp .tsf-cp-sidecode{display:none}.tsf-cp .tsf-cases-grid{grid-template-columns:1fr;gap:17px}.tsf-cp .tsf-cp-catalog{padding-bottom:55px}.tsf-cp .tsf-cp-how ol{gap:10px 20px}.tsf-cp .tsf-cp-how{padding:18px;gap:12px}.tsf-cp .tsf-case-card-wrap .tsf-card-surface{padding:20px!important}.tsf-cp .tsf-case-card-wrap .tsf-crate{width:200px!important;flex-basis:200px!important}}
@media(prefers-reduced-motion:reduce){.tsf-cp .tsf-case-card-wrap :is(.tsf-card-surface,.tsf-crate,.tsf-crate-face,.ring-glow,.ring-mask,.tsf-cta-btn){transition:none!important}}
