/* TechStepsHQ global CSS (BUILD-PLAN Section 5) */
:root{--c:#3B5BFD;--ink:#0B1220;--txt:#334155;--teal:#14B8A6;--surf:#F6F8FC;--bd:#E5E9F2;--cs:#EEF2FF;--ts:#E6FAF7;--amb:#F59E0B;--as:#FFF7E6;--mut:#64748B}
body{color:var(--txt);-webkit-font-smoothing:antialiased}
a{color:var(--c);text-underline-offset:3px}
/* menu path chip: <kbd>Settings › General › Reset</kbd> */
kbd,.ts-kbd{font:500 15px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--cs);color:var(--ink);border-radius:6px;padding:2px 8px;white-space:nowrap;border:0;box-shadow:none}
/* tested-on badge */
.ts-tested{display:inline-flex;gap:8px;align-items:center;background:var(--ts);color:#0F766E;font:600 14px/1.4 Inter,sans-serif;border-radius:999px;padding:6px 14px;margin:0 0 20px}
.ts-tested::before{content:"✓";font-weight:800}
/* quick answer */
.ts-answer{background:var(--cs);border-left:4px solid var(--c);border-radius:20px;padding:20px 24px;margin:0 0 32px}
.ts-answer>*:first-child{margin-top:0}.ts-answer>*:last-child{margin-bottom:0}
.ts-answer .ts-label{font:700 13px/1 Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--c);margin-bottom:8px;display:block}
/* callouts */
.ts-tip,.ts-warn,.ts-note{border-radius:16px;padding:16px 20px;margin:24px 0;border-left:4px solid}
.ts-tip{background:var(--cs);border-color:var(--c)}
.ts-warn{background:var(--as);border-color:var(--amb)}
.ts-note{background:var(--surf);border-color:var(--bd)}
.ts-tip>*:last-child,.ts-warn>*:last-child,.ts-note>*:last-child{margin-bottom:0}
/* numbered steps with big cobalt circles */
ol.ts-steps{list-style:none;counter-reset:s;padding-left:0;margin:24px 0}
ol.ts-steps>li{counter-increment:s;position:relative;padding:0 0 20px 56px;min-height:40px}
ol.ts-steps>li::before{content:counter(s);position:absolute;left:0;top:-2px;width:40px;height:40px;border-radius:50%;background:var(--c);color:#fff;font:800 18px/40px "Plus Jakarta Sans",sans-serif;text-align:center}
ol.ts-steps>li:not(:last-child)::after{content:"";position:absolute;left:19px;top:44px;bottom:4px;width:2px;background:var(--bd)}
/* cards */
.ts-card{background:#fff;border:1px solid var(--bd);border-radius:20px;box-shadow:0 1px 2px rgba(11,18,32,.04),0 8px 24px rgba(11,18,32,.06);transition:transform .2s ease,border-color .2s ease}
.ts-card:hover{transform:translateY(-3px);border-color:var(--c)}
/* chips */
.ts-chip{display:inline-block;background:var(--cs);color:var(--c);font:600 14px/1 Inter,sans-serif;border-radius:999px;padding:10px 16px;text-decoration:none}
.ts-chip:hover{background:var(--c);color:#fff}
/* sticky glass header */
.ts-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--bd)}
/* tables inside articles */
.entry-content table,.elementor-widget-theme-post-content table{border-collapse:collapse;width:100%;font-size:16px}
.elementor-widget-theme-post-content th,.elementor-widget-theme-post-content td{border:1px solid var(--bd);padding:10px 12px;text-align:left}
.elementor-widget-theme-post-content th{background:var(--surf)}
@media (max-width:767px){ol.ts-steps>li{padding-left:48px}ol.ts-steps>li::before{width:34px;height:34px;line-height:34px;font-size:16px}}
@media (prefers-reduced-motion:reduce){.ts-card{transition:none}.ts-card:hover{transform:none}}

/* ---- Build additions (hubs, FAQ, baseline) ---- */
a:hover{text-decoration-thickness:2px}
.ts-chip:hover,.ts-chip:focus{color:#fff;text-decoration:none}
/* hub description: H1 + intro + FAQ stored in the category description */
.ts-hub-title{margin:0 0 12px}
.ts-hub-intro{font-size:20px;line-height:1.6;color:var(--mut);max-width:720px;margin:0}
.ts-hub-head.has-photo{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:56px;align-items:center}
.ts-hub-photo{display:block}
.ts-hub-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:20px;box-shadow:0 20px 50px -24px rgba(11,18,32,.35)}
@media(max-width:1024px){.ts-hub-head.has-photo{display:block}.ts-hub-photo{display:none}}
/* Stock photos on Home and trust pages */
.ts-photo img{display:block;width:100%;height:auto;object-fit:cover;border-radius:20px}
.ts-page-photo img{aspect-ratio:21/9;margin-bottom:8px}
.ts-split-photo img{aspect-ratio:4/3;box-shadow:0 20px 50px -24px rgba(11,18,32,.35)}
.ts-split>.e-con-inner>.e-con{--width:auto;flex:1 1 0%;min-width:0}
/* Links inside body text are underlined, not colour-only (accessibility) */
.elementor-widget-text-editor p a,.elementor-widget-text-editor li a{text-decoration:underline}
.ts-split .elementor-widget-text-editor p{font-size:18px;line-height:1.7;color:var(--txt)}
@media(max-width:1024px){.ts-split>.e-con-inner>.e-con{flex:none;width:100%}}
.ts-hub-faq{margin-top:8px}
.ts-hub-faq h2{margin:0 0 16px}
details.ts-faq-item{background:#fff;border:1px solid var(--bd);border-radius:16px;padding:0;margin:0 0 12px}
details.ts-faq-item summary{cursor:pointer;list-style:none;padding:18px 52px 18px 20px;font:700 18px/1.4 "Plus Jakarta Sans",sans-serif;color:var(--ink);position:relative;min-height:44px}
details.ts-faq-item summary::-webkit-details-marker{display:none}
details.ts-faq-item summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font:700 22px/1 Inter,sans-serif;color:var(--c)}
details.ts-faq-item[open] summary::after{content:"–"}
details.ts-faq-item p{margin:0;padding:0 20px 18px}
/* chip row */
.ts-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0;padding:0;list-style:none}
.ts-chips.ts-left{justify-content:flex-start}
/* menu-path chips may wrap on narrow screens (prevents sideways scroll) */
kbd,.ts-kbd{white-space:normal;-webkit-box-decoration-break:clone;box-decoration-break:clone}
/* Rank Math HowTo block styled like TSHQ – Steps */
.rank-math-steps{counter-reset:s;margin:24px 0}
.rank-math-steps>.rank-math-step{counter-increment:s;position:relative;padding:0 0 20px 56px;min-height:40px}
.rank-math-steps>.rank-math-step::before{content:counter(s);position:absolute;left:0;top:-2px;width:40px;height:40px;border-radius:50%;background:var(--c);color:#fff;font:800 18px/40px "Plus Jakarta Sans",sans-serif;text-align:center}
.rank-math-steps>.rank-math-step:not(:last-child)::after{content:"";position:absolute;left:19px;top:44px;bottom:4px;width:2px;background:var(--bd)}
.rank-math-step-title{font-size:19px;margin:6px 0 4px}
.rank-math-step-content p:last-child{margin-bottom:0}
@media (max-width:767px){.rank-math-steps>.rank-math-step{padding-left:48px}.rank-math-steps>.rank-math-step::before{width:34px;height:34px;line-height:34px;font-size:16px}.rank-math-steps>.rank-math-step:not(:last-child)::after{left:16px;top:38px}ol.ts-steps>li:not(:last-child)::after{left:16px;top:38px}}
/* Rank Math FAQ block as cards */
#rank-math-faq .rank-math-list-item{background:#fff;border:1px solid var(--bd);border-radius:16px;padding:18px 20px;margin:0 0 12px}
#rank-math-faq .rank-math-question{font-size:18px;margin:0 0 8px}
#rank-math-faq .rank-math-answer p:last-child{margin-bottom:0}
/* skill-baseline: applied */
.elementor-widget-text-editor > p:last-child,.elementor-widget-text-editor > .elementor-widget-container > p:last-child{margin-bottom:0}
:focus-visible{outline:2px solid var(--c);outline-offset:2px}
