/* Homepage — built from blocks (see inc/home-blocks.php). Simple: hero + search, categories, popular tools, FAQ. */
.home-blocks{padding-bottom:24px}
.home-blocks>*{position:relative}

/* hero (group block with class "th-hero") */
.th-hero{position:relative;overflow-x:clip;padding:56px 32px 32px;z-index:5} /* rule 142: shorter hero, the categories show on the first screen */
.th-hero::after{content:"";position:absolute;left:50%;top:170px;width:1000px;max-width:100%;height:420px;transform:translateX(-50%);background:radial-gradient(closest-side at 35% 50%,var(--glow-a),transparent 70%),radial-gradient(closest-side at 65% 50%,var(--glow-b),transparent 70%);filter:blur(20px);pointer-events:none;z-index:0}
.th-hero,.th-hero>.wp-block-group__inner-container{display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}
.th-hero>.wp-block-group__inner-container{width:100%}
.th-hero>*,.th-hero>.wp-block-group__inner-container>*{position:relative;z-index:1;margin:0}
.th-hero h1{font-size:clamp(40px,6.2vw,76px);font-weight:720;letter-spacing:-.04em;line-height:1.04;max-width:980px}
.th-hero h1 em,.th-sec h2 em{font-family:var(--serif);font-style:italic;font-weight:400;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em;letter-spacing:-.01em}
.th-hero h1 em{font-size:1.08em}
.th-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 8px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:13.5px;font-weight:600;color:var(--muted)}
.th-eyebrow::before{content:"✦";display:inline-grid;place-items:center;width:22px;height:22px;border-radius:999px;background:var(--ai-soft);color:var(--ai-ink);font-size:12px}
.th-eyebrow strong{color:var(--ink)}
.th-lead{font-size:clamp(17px,1.6vw,20px);color:var(--muted);max-width:680px}
.ss-wrap{width:100%;max-width:780px;display:flex;flex-direction:column;align-items:center}
.ss-box>svg{color:var(--muted);flex-shrink:0}
.th-try{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;font-size:14px;margin-top:-6px!important}
.th-try::before{content:"Try:";color:var(--muted)}
.th-try li,.th-try .chip{display:inline-flex;align-items:center;padding:6px 11px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:13.5px;font-weight:550;cursor:pointer;white-space:nowrap}
.th-try li:hover,.th-try li:focus-visible,.th-try .chip:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--line))}
.ss-wrap .th-try{margin-top:16px!important}


/* category tiles */
.th-cats{display:grid;grid-template-columns:repeat(var(--n,6),minmax(0,1fr));gap:12px;max-width:1280px;margin:0 auto;padding:0 32px} /* rule 142: even rows (--n = tiles, max 6), never one tile alone */
.qt{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:16px;background:var(--surface);border:1px solid var(--line);color:var(--ink);transition:.18s;min-width:0}
.qt:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--line));box-shadow:var(--shadow);text-decoration:none;transform:translateY(-1px)}
.qi{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand-soft),var(--ai-soft));color:var(--brand-ink);flex-shrink:0}
.qt b{display:block;font-size:15px;font-weight:650}.qt small{color:var(--muted);font-family:var(--mono);font-size:11.5px}
.qt small.qd{display:block;margin-top:2px;font-family:inherit;font-size:13px;line-height:1.35}

/* My tools (rules 109, 112, 129, 135; owner 2026-10-16: "plain and messy, hard to tell apart"): three parts, three looks, one family.
   Your Favorite Tools = a warm card with icon tiles; Tools You Used Recently = a quiet list with "2 hours ago · opened 5 times";
   Picked for You (My Tools page) = a brand-tinted panel with bigger cards and the reason. Parts stacked on every screen (rule 112);
   items fill rows of cells measured on the part (no @media). */
.th-mine{max-width:1280px;margin:18px auto 0;padding:0 32px;scroll-margin-top:90px}
.th-mine[hidden]{display:none}
.th-mine-l{display:flex;align-items:center;gap:6px;margin-bottom:10px;font-size:13px;font-weight:650;color:var(--muted)}
#th-mine-list{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.tm-part{min-width:0;padding:18px;border-radius:20px;background:var(--surface);border:1px solid var(--line)}
.tm-head{display:flex;align-items:center;gap:10px;margin:0 0 14px}
.tm-badge{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--surface-2);color:var(--muted)}
.tm-h{margin:0;font-size:17px;font-weight:750;letter-spacing:-.01em;line-height:1.3;color:var(--ink)}
.tm-n{min-width:24px;height:24px;padding:0 8px;border-radius:99px;display:inline-grid;place-items:center;font-size:12.5px;font-weight:700;background:color-mix(in srgb,#E11D48 12%,var(--surface));color:#E11D48}
.tm-ic{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--surface-2);color:var(--brand-ink)}
.tm-ic svg{width:20px;height:20px}
.tm-tx{min-width:0;display:flex;flex-direction:column;gap:2px}
.tm-tx b{font-size:15px;font-weight:650;line-height:1.3;color:var(--ink);overflow-wrap:anywhere}
.tm-tx small{font-size:12.5px;font-weight:500;line-height:1.35;color:var(--muted)}
.tm-empty{margin:0;font-size:14px;color:var(--muted)}
.tm-fav{background:linear-gradient(180deg,color-mix(in srgb,#E11D48 6%,var(--surface)),var(--surface) 70%);border-color:color-mix(in srgb,#E11D48 22%,var(--line))}
.tm-fav .tm-badge{background:color-mix(in srgb,#E11D48 12%,var(--surface));color:#E11D48}
.tm-fav .tm-badge svg{fill:currentColor}
.tm-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:10px}
.tm-tile{position:relative;display:flex;min-width:0}
.tm-tile a{flex:1;min-width:0;min-height:64px;display:flex;align-items:center;gap:12px;padding:12px 52px 12px 12px;border-radius:16px;background:var(--surface);border:1px solid var(--line);color:var(--ink);transition:border-color .15s,transform .15s,box-shadow .15s}
.tm-tile a:hover{text-decoration:none;border-color:color-mix(in srgb,#E11D48 40%,var(--line));transform:translateY(-1px);box-shadow:0 6px 18px -10px rgba(225,29,72,.45)}
.tm-tile .tm-ic{background:color-mix(in srgb,#E11D48 9%,var(--surface));color:#E11D48}
.tm-x{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:36px;height:36px;padding:0;border-radius:10px;border:0;background:transparent;color:var(--muted);font-size:14px;cursor:pointer}
.tm-x:hover,.tm-x:focus-visible{color:#E11D48;background:color-mix(in srgb,#E11D48 10%,var(--surface))}
.tm-rec .tm-head{margin-bottom:8px}
.tm-clear{margin-left:auto;min-height:32px;padding:6px 10px;border:0;border-radius:9px;background:none;color:var(--muted);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer}
.tm-clear:hover,.tm-clear:focus-visible{color:var(--ink);background:var(--surface-2)}
.tm-lines{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:2px 12px}
.tm-line a{min-height:56px;display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:12px;color:var(--ink)}
.tm-line a:hover{text-decoration:none;background:var(--surface-2)}
.tm-line .tm-ic{width:36px;height:36px;border-radius:10px;color:var(--muted)}
.tm-line a:hover .tm-ic{color:var(--brand-ink)}
/* My Tools page (/my-tools/): the parts full width, then Picked for You, Popular, the privacy note */
.mt-page .th-mine{max-width:none;margin:22px 0 0;padding:0}
.mt-sec{margin-top:40px}
.mt-sec[hidden]{display:none}
.mt-h{margin:0 0 4px;font-size:22px;font-weight:750;letter-spacing:-.01em;color:var(--ink)}
.mt-sub{margin:0 0 14px;font-size:15px;color:var(--muted)}
.mt-picked{padding:22px;border-radius:24px;border:1px solid color-mix(in srgb,var(--brand) 22%,var(--line));background:radial-gradient(600px 240px at 0% 0%,color-mix(in srgb,var(--brand) 12%,transparent),transparent 70%),radial-gradient(500px 220px at 100% 100%,color-mix(in srgb,#7C3AED 10%,transparent),transparent 70%),var(--surface)}
.mt-pk-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}
.mt-pk-head .tm-badge{background:var(--grad);color:#fff}
.mt-pk-head .mt-sub{margin:0}
.mt-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,max(260px,calc((100% - 24px) / 3))),1fr));gap:12px} /* at most 3 per line, so 6 picks make 2 even lines */
.mt-card{position:relative;display:flex;min-width:0}
.mt-card a{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:18px;background:var(--surface);border:1px solid var(--line);color:var(--ink);transition:border-color .15s,transform .15s,box-shadow .15s}
.mt-card a:hover{text-decoration:none;border-color:color-mix(in srgb,var(--brand) 45%,var(--line));transform:translateY(-2px);box-shadow:0 10px 24px -14px color-mix(in srgb,var(--brand) 70%,transparent)}
.mt-card .tm-ic{background:color-mix(in srgb,var(--brand) 10%,var(--surface))}
.mt-card b{padding-right:30px;font-size:16px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.mt-d{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;line-height:1.45;color:var(--muted)}
.mt-why{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--brand-ink)}
.mt-why svg{width:14px;height:14px;flex:none}
.mt-go{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:650;color:var(--brand-ink)}
.mt-nx{position:absolute;top:10px;right:10px;width:32px;height:32px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:13px;cursor:pointer}
.mt-nx:hover,.mt-nx:focus-visible{color:var(--ink);background:var(--surface-2)}
.mt-note{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:40px 0 8px;padding:14px 16px;border-radius:14px;background:var(--surface-2);font-size:14px;color:var(--muted)}
.mt-note svg{flex-shrink:0}
.mt-note span{flex:1 1 260px}

.th-adrow{max-width:1280px;margin:32px auto 0;padding:0 32px}

/* sections (group block with class "th-sec") */
.th-sec{max-width:1280px;margin:0 auto;padding:64px 32px 0}
.th-sec h2{font-size:clamp(26px,2.6vw,34px);font-weight:700;letter-spacing:-.02em}
.th-sub{color:var(--muted);margin:6px 0 20px}
.th-all{margin-top:20px;text-align:center}
.th-faq{max-width:860px}
.th-faq h2{text-align:center;margin-bottom:20px}
.th-faq details{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:0;cursor:pointer;transition:border-color .18s}
.th-faq details+details{margin-top:10px}
.th-faq details:hover{border-color:color-mix(in srgb,var(--brand) 35%,var(--line))}
.th-faq summary{font-weight:650;font-size:16.5px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px}
.th-faq summary::-webkit-details-marker{display:none}
.th-faq summary::after{content:"+";flex-shrink:0;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--surface-2);color:var(--muted);font-size:18px;line-height:1}
.th-faq details[open] summary::after{content:"–";background:var(--brand-soft);color:var(--brand-ink)}
.th-faq details>*:not(summary){padding:0 18px;color:var(--muted);margin:0}
.th-faq details>*:last-child:not(summary){padding-bottom:16px}

@media (width <= 1024px){
  .th-hero{padding:48px 18px 30px}
  .th-cats,.th-mine,.th-adrow{padding:0 18px}
  .th-sec{padding:48px 18px 0}
  .th-cats{grid-template-columns:repeat(var(--n3,3),minmax(0,1fr))}
  .qt{flex-direction:column;align-items:flex-start;gap:8px;padding:12px}
}
@media (width <= 576px){
  .th-hero{gap:18px}
  .th-eyebrow{font-size:12.5px}
  .th-cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .qt b{font-size:14px}
}

/* ===== v1.10 homepage sections ===== */
.home-blocks .popg{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.th-pop .popg{counter-reset:pop}
.th-pop .tcard{counter-increment:pop}
.th-pop .tc-top::after{content:"#" counter(pop);font-size:13px;font-weight:750;letter-spacing:.02em;color:var(--muted);padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:var(--bg)}
.th-pop .tcard:first-child .tc-top::after{content:"🔥 #1";color:#C2410C;border-color:color-mix(in srgb,#F97316 35%,var(--line));background:color-mix(in srgb,#F97316 10%,var(--surface))}
.th-hero .ss-wrap{z-index:8}
.th-kick{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-ink);margin-bottom:10px!important}
.th-kick::before{content:"";width:18px;height:2px;border-radius:2px;background:var(--grad)}
.th-why{text-align:center}
.th-why h2{max-width:760px;margin:0 auto}
.th-why .th-sub{max-width:620px;margin:10px auto 0}

/* why ToolHa: four reasons with icons (rule 142) */
.th-why-list{list-style:none;padding:0;margin:36px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;text-align:left}
.th-why-list li{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:22px 22px 24px;color:var(--muted);font-size:15px;line-height:1.6;transition:transform .2s,border-color .2s,box-shadow .2s}
.th-why-list li:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--brand) 40%,var(--line));box-shadow:var(--shadow-lg)}
.th-why-list li:nth-child(1){background:radial-gradient(420px 220px at 100% 0%,color-mix(in srgb,var(--ai) 16%,transparent),transparent 70%),var(--surface)}
.th-why-list li:nth-child(2){background:radial-gradient(420px 220px at 100% 0%,color-mix(in srgb,var(--blue) 16%,transparent),transparent 70%),var(--surface)}
.th-why-list strong{display:block;color:var(--ink);font-size:17.5px;letter-spacing:-.01em;margin:14px 0 6px}
.th-why-list li::before{content:"";display:block;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--brand-soft),var(--ai-soft));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 18%,transparent)}
.th-why-list li::after{content:"";position:absolute;left:34px;top:34px;width:22px;height:22px;background:var(--brand-ink);-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.th-why-list li:nth-child(1){--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5A2.5 2.5 0 0 1 6.5 3H20v15H6.5A2.5 2.5 0 0 0 4 20.5z'/%3E%3Cpath d='M4 20.5A2.5 2.5 0 0 0 6.5 23H20v-5'/%3E%3Cpath d='M9 8h7M9 12h5'/%3E%3C/svg%3E")}
.th-why-list li:nth-child(2){--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3C/svg%3E")}
.th-why-list li:nth-child(3){--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2 4 14h7l-1 8 9-12h-7l1-8z'/%3E%3C/svg%3E")}
.th-why-list li:nth-child(4){--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3.6 9h16.8M3.6 15h16.8M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18'/%3E%3C/svg%3E")}

/* request a tool: gradient band */
.th-cta{margin-top:72px!important;padding:0 32px!important}
.th-cta>*{position:relative;z-index:1}
.th-cta{position:relative}
.th-cta::before{content:"";position:absolute;inset:0 32px;border-radius:28px;background:radial-gradient(600px 260px at 85% 0%,rgba(192,132,252,.45),transparent 65%),radial-gradient(500px 240px at 10% 100%,rgba(96,165,250,.35),transparent 65%),linear-gradient(135deg,#1E1B4B,#312E81 55%,#4C1D95);z-index:0}
.th-cta h2,.th-cta p,.th-cta .th-cta-btns{text-align:center}
.th-cta h2{color:#fff;padding-top:56px;font-size:clamp(28px,3.4vw,44px)!important;letter-spacing:-.03em}
.th-cta h2 em{background:linear-gradient(90deg,#C4B5FD,#F0ABFC)!important;-webkit-background-clip:text!important;background-clip:text!important}
.th-cta p{color:#C7CBF0;max-width:560px;margin:12px auto 0;font-size:17px}
.th-cta-btns{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:26px;padding-bottom:56px}
.th-cta .wp-block-button__link{display:inline-flex;align-items:center;height:50px;padding:0 24px;border-radius:14px;font-weight:650;font-size:16px;text-decoration:none!important;transition:transform .15s,box-shadow .15s}
.th-btn-main .wp-block-button__link{background:#fff;color:#1E1B4B;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.th-btn-alt .wp-block-button__link{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.28)}
.th-cta .wp-block-button__link:hover{transform:translateY(-1px)}

@media (width <= 1024px){
  .th-why-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .th-cta{padding:0 18px!important}.th-cta::before{inset:0 18px}
  .th-cta h2{padding:44px 22px 0}.th-cta p{padding:0 22px}
  .th-cta-btns{padding:0 22px 44px}
}
@media (width <= 576px){
  .th-why-list{grid-template-columns:1fr}
  .th-why-list li{padding:18px 18px 20px 80px;min-height:0}
  .th-why-list li::before{position:absolute;left:18px;top:20px}
  .th-why-list li::after{left:29px;top:31px}
  .th-why-list strong{margin-top:0}
}

.th-pop .tcard.is-ad{counter-increment:none}
.th-pop .tcard.is-ad .tc-top::after{display:none}

/* v1.31.3: "Just added" links under the search box (replace the old "Try:" example chips) */
.th-quick::before{content:none}
.th-quick-l{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-weight:550}
.th-quick-l svg{color:var(--ai-ink);width:14px;height:14px}
.th-try a.chip{gap:6px;text-decoration:none}
.th-try a.chip svg{color:var(--brand);flex:none}
.th-try a.th-quick-all{color:var(--brand);border-style:dashed}
/* v1.31.3: the eyebrow text flows as one line of text (it wrapped into two columns on phones) */
.th-eyebrow{display:inline-block;line-height:1.5;text-align:center;padding:6px 14px 6px 8px}
.th-eyebrow::before{display:inline-grid;vertical-align:middle;margin:-2px 8px 0 0}
@media (width <= 768px){
  .th-eyebrow{font-size:13px;padding:5px 12px 5px 7px}
  .th-quick a.chip:nth-of-type(n+4):not(.th-quick-all){display:none} /* phones: the 3 newest tools only */
}

/* rule 142: Recently Added (title + See all on one line), Popular shows 4 on phones (Browse all tools under it) */
.th-new-h{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin-bottom:20px}
.th-new-h .th-sub{margin-bottom:0}
.th-new-h .btn{flex:none}
@media (width <= 768px){.th-pop .popg>:nth-child(n+5),.th-new .popg>:nth-child(n+3){display:none}.th-new-h .btn{width:100%;justify-content:center}}

/* v1.37 ToolHa type standard (tokens in theme.css) */
.th-hero h1{font-size:var(--fs-hero)}
.th-sec h2{font-size:var(--fs-h2)}
.th-cta h2{font-size:var(--fs-h2)!important}
.qt small{font-size:var(--fs-min)}


/* rule 153 (owner 2026-10-19): "Our Pick" spotlight, one of our best tools in one big card (ToolHa → Homepage → 4).
   Part of the page (no pop-up); home.js shows one card this visitor has not used yet, ✕ hides it for 30 days. */
.th-spot{max-width:1280px;margin:28px auto 0;padding:0 32px}
.th-spot[hidden],.sp-card[hidden]{display:none}
.sp-card{position:relative;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);border:1px solid var(--line);border-radius:24px;background:radial-gradient(560px 280px at 0% 0%,var(--glow-a),transparent 70%),var(--surface);box-shadow:var(--shadow);overflow:hidden}
.sp-tx{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:32px 36px;min-width:0}
.sp-kick{display:inline-flex;align-items:center;gap:6px;margin:0;padding:4px 12px 4px 10px;border-radius:999px;background:var(--ai-soft);color:var(--ai-ink);font-size:13px;font-weight:650}
.sp-h{margin:0;font-size:var(--fs-h2);font-weight:720;letter-spacing:-.02em;line-height:1.15}
.sp-d{margin:0;max-width:60ch;color:var(--muted);font-size:17px;line-height:1.5}
.sp-pts{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:8px 18px;width:100%;margin:2px 0 0;padding:0;list-style:none}
.sp-pts li{display:flex;align-items:flex-start;gap:8px;font-size:15px;font-weight:550;line-height:1.4}
.sp-pts svg{flex:none;margin-top:1px;color:var(--ok)}
.sp-go{margin-top:6px}
.sp-art{position:relative;display:grid;place-items:center;min-height:240px;background:var(--grad);overflow:hidden}
.sp-art::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(closest-side,#000,transparent);mask-image:radial-gradient(closest-side,#000,transparent)}
.sp-ic{position:relative;display:grid;place-items:center;width:132px;height:132px;border:1px solid rgba(255,255,255,.4);border-radius:32px;background:rgba(255,255,255,.16);color:#fff;box-shadow:0 20px 50px rgba(30,27,75,.35)}
.sp-has-img .sp-art{background:var(--surface-2)}
.sp-has-img .sp-art::before{content:none}
.sp-img{display:block;width:100%;height:100%;object-fit:cover}
.sp-x{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:rgba(11,16,32,.3);color:#fff;font-size:14px;line-height:1;cursor:pointer}
.sp-x:hover,.sp-x:focus-visible{background:rgba(11,16,32,.55)}
@media (width <= 1024px){.th-spot{padding:0 18px}}
@media (width <= 768px){.sp-card{grid-template-columns:1fr}.sp-art{order:-1;min-height:132px}.sp-ic{width:84px;height:84px;border-radius:22px}.sp-ic svg{width:40px;height:40px}.sp-tx{gap:12px;padding:22px 20px 24px}.sp-d{font-size:16px}.sp-go{width:100%;justify-content:center}}
@media (width <= 576px){.sp-tx{padding:20px 16px 22px}.sp-go{padding-inline:12px}.sp-go svg{display:none}}
@media print{.th-spot{display:none}}
