/*
Theme Name: TMGuide Support
Description: Clean, high-trust support theme for an independent online advisory service. Includes problem finder, comparison table, schema markup, interactive contact hub, sticky call bar.
Version: 2.0
Text Domain: tmguide
*/
:root{--ink:#0f172a;--brand:#047857;--brand-d:#065f46;--tint:#ecfdf5;--bg:#f7faf9;--line:#dbe7e1;--muted:#475467;--white:#fff;--r:14px;--shadow:0 1px 2px rgba(15,23,42,.06),0 8px 24px rgba(15,23,42,.06)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:17px/1.7 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--white);padding-bottom:74px;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:var(--brand-d)}
h1,h2,h3{line-height:1.15;letter-spacing:-.02em}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #38bdf8;outline-offset:2px}
.wrap{max-width:1160px;margin:0 auto;padding:0 22px}
.notice-bar{background:var(--ink);color:#cbd5e1;font-size:13.5px;padding:7px 0;text-align:center}
.site-header{background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:70px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:800;font-size:20px;letter-spacing:-.02em}
.brand-mark{width:36px;height:36px;border-radius:10px;background:var(--brand);display:grid;place-items:center}
.brand-mark svg{width:20px;height:20px}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:20px;flex-wrap:wrap}
.nav a{text-decoration:none;color:var(--ink);font-weight:600;font-size:14.5px;padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav .current-menu-item a{border-color:var(--brand)}
.menu-toggle{display:none;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 14px;font:inherit;font-weight:700;color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--brand);color:#fff;font-weight:700;text-decoration:none;padding:14px 24px;border-radius:12px;border:2px solid var(--brand);cursor:pointer;font-size:16px;transition:background .15s,transform .15s;box-shadow:0 4px 14px rgba(4,120,87,.25)}
.btn:hover{background:var(--brand-d);border-color:var(--brand-d);transform:translateY(-1px)}
.btn svg{width:18px;height:18px}
.btn-ghost{background:#fff;color:var(--ink);border-color:var(--ink);box-shadow:none}
.btn-ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-sm{padding:10px 16px;font-size:15px;border-radius:10px}
.eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-d);background:var(--tint);padding:5px 12px;border-radius:99px;margin-bottom:16px}
.hero{background:linear-gradient(180deg,var(--tint) 0%,#fff 100%);padding:64px 0 56px}
.hero .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:52px;align-items:start}
.hero h1{font-size:clamp(34px,5vw,56px);margin:0 0 18px}
.hero p.lead{font-size:19px;color:var(--muted);margin:0 0 26px;max-width:33em}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.finder{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:var(--shadow)}
.finder h2{margin:0 0 4px;font-size:21px}
.finder .hint{margin:0 0 16px;color:var(--muted);font-size:15px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.chip{border:1.5px solid var(--line);background:#fff;border-radius:99px;padding:8px 14px;font:inherit;font-size:14.5px;font-weight:600;color:var(--ink);cursor:pointer}
.chip:hover{border-color:var(--brand)}
.chip[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff}
.finder-out{border-top:1px dashed var(--line);padding-top:16px}
.finder-out ol{margin:0 0 14px;padding-left:20px}
.finder-out li{margin-bottom:6px;font-size:15.5px}
.finder-out .row{display:flex;gap:10px;flex-wrap:wrap}
.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-top:22px;padding-bottom:22px}
.trust div{display:flex;gap:12px;align-items:center;font-weight:600;font-size:15px}
.trust svg{width:26px;height:26px;stroke:var(--brand);flex:none}
section.block{padding:72px 0}
section.alt{background:var(--bg)}
.sec-head{max-width:640px;margin-bottom:36px}
.sec-head h2{font-size:clamp(28px,3.6vw,40px);margin:0 0 10px}
.sec-head p{margin:0;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.card .ico{width:46px;height:46px;border-radius:12px;background:var(--tint);display:grid;place-items:center;margin-bottom:14px}
.card .ico svg{width:24px;height:24px;stroke:var(--brand)}
.card h3{margin:0 0 6px;font-size:19px}
.card p{margin:0;color:var(--muted);font-size:15.5px}
.compare{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}
.compare th,.compare td{padding:15px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);font-size:15.5px}
.compare tr:last-child td{border-bottom:0}
.compare thead th{background:var(--ink);color:#fff;font-size:15px}
.compare tbody th{width:24%;background:var(--bg)}
.scroll-x{overflow-x:auto}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;list-style:none;padding:0;margin:0;counter-reset:t}
.timeline li{counter-increment:t;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;position:relative}
.timeline li:before{content:counter(t);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--brand);color:#fff;font-weight:800;margin-bottom:12px}
.timeline h3{margin:0 0 6px;font-size:18px}
.timeline p{margin:0;color:var(--muted);font-size:15.5px}
.post-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.post-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;display:flex;flex-direction:column}
.post-card .tag{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-d)}
.post-card h3{margin:8px 0;font-size:20px}
.post-card h3 a{color:var(--ink);text-decoration:none}
.post-card h3 a:hover{text-decoration:underline}
.post-card p{margin:0 0 12px;color:var(--muted);font-size:15.5px;flex:1}
.post-card .meta{font-size:13.5px;color:var(--muted)}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin-bottom:10px}
.faq summary{cursor:pointer;font-weight:700;font-size:17px}
.faq details p{margin:10px 0 0;color:var(--muted)}
.disclosure{border:2px solid var(--ink);border-radius:var(--r);padding:24px 26px;background:#fff}
.disclosure h2{margin:0 0 8px;font-size:22px}
.disclosure p{margin:0}
.cta-band{background:var(--ink);color:#fff;padding:60px 0;text-align:center}
.cta-band h2{margin:0 0 10px;font-size:clamp(28px,3.6vw,40px)}
.cta-band p{margin:0 auto 24px;color:#cbd5e1;max-width:34em}
.cta-band .btn{background:#fff;color:var(--ink);border-color:#fff}
.cta-band .btn:hover{background:var(--tint)}
.page-head{background:linear-gradient(180deg,var(--tint),#fff);border-bottom:1px solid var(--line);padding:38px 0 34px}
.crumbs{font-size:14px;color:var(--muted);margin:0 0 10px}
.crumbs a{color:var(--muted)}
.page-head h1{margin:0;font-size:clamp(30px,4.6vw,46px)}
.page-head .meta{margin:12px 0 0;color:var(--muted);font-size:15px}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:44px;max-width:1160px;margin:0 auto;padding:44px 22px 64px}
.layout.single{grid-template-columns:minmax(0,760px);justify-content:center}
.content{min-width:0}
.content h2{margin:36px 0 10px;font-size:27px}
.content h3{margin:24px 0 6px;font-size:20px}
.content li{margin-bottom:7px}
.content .btn{text-decoration:none;margin:6px 0 10px}
.content details{border-bottom:1px solid var(--line);padding:15px 0}
.content summary{cursor:pointer;font-weight:700;font-size:18px}
.content details p{margin:10px 0 0;color:var(--muted)}
.content table{border-collapse:collapse;width:100%}
.content td,.content th{border:1px solid var(--line);padding:10px 12px;text-align:left}
.side{position:sticky;top:90px;align-self:start;display:grid;gap:18px}
.side .box{border:1px solid var(--line);border-radius:var(--r);padding:20px;background:#fff}
.side h4{margin:0 0 8px;font-size:16px}
.side .big{font-size:24px;font-weight:800;text-decoration:none;display:block;margin-bottom:10px}
.side ul{margin:0;padding-left:18px;font-size:15px}
.side .btn{width:100%}
.toc a{display:block;text-decoration:none;font-size:15px;padding:4px 0;color:var(--muted)}
.toc a:hover{color:var(--brand-d)}
.related{border-top:1px solid var(--line);margin-top:44px;padding-top:6px}
.callout{background:var(--tint);border-left:4px solid var(--brand);padding:16px 20px;border-radius:0 12px 12px 0;margin:24px 0}
.callout p{margin:0}
.flash{background:var(--tint);border:1px solid var(--brand);padding:14px 18px;border-radius:12px;margin-bottom:20px}
.site-footer{background:var(--ink);color:#cbd5e1;padding:56px 0 26px;font-size:15px}
.site-footer a{color:#fff}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:38px}
.site-footer h4{color:#fff;margin:0 0 12px;font-size:16px}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin-bottom:7px}
.foot-disclaimer{border-top:1px solid #243049;margin-top:34px;padding-top:20px;font-size:13.5px;line-height:1.65;color:#94a3b8}
.call-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(15,23,42,.08);padding:10px 0}
.call-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px}
.call-bar span{font-weight:600;font-size:15px}
.call-bar small{display:block;font-weight:400;color:var(--muted);font-size:12.5px;line-height:1.3}
/* contact hub */
.hub{max-width:1000px;margin:0 auto}
.hub h2{margin:0 0 6px;font-size:27px}
.hub .sub{color:var(--muted);margin:0 0 20px}
.call-card{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;background:var(--ink);color:#fff;border-radius:var(--r);padding:30px;margin-bottom:44px}
.call-card .big{font-size:clamp(28px,5vw,40px);font-weight:800;color:#fff;text-decoration:none;display:block;margin:6px 0 14px}
.call-card p{margin:0 0 8px;color:#cbd5e1}
.call-card .btn{background:#fff;color:var(--ink);border-color:#fff}
.badge{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;background:#1e293b;padding:6px 12px;border-radius:99px}
.badge i{width:10px;height:10px;border-radius:50%;background:#64748b;display:inline-block}
.badge.open i{background:#34d399}
.call-card ul{margin:0;padding-left:18px;color:#e2e8f0}
.topics{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}
.topic{background:#fff;border:1.5px solid var(--line);border-radius:99px;padding:10px 18px;font:inherit;font-weight:600;color:var(--ink);cursor:pointer}
.topic:hover{border-color:var(--brand)}
.topic[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff}
.topic-panel{border:1px solid var(--line);background:var(--tint);border-radius:var(--r);padding:24px;margin-bottom:44px}
.topic-panel[hidden]{display:none}
.topic-panel h3{margin:0 0 6px;font-size:21px}
.topic-panel p{margin:0 0 14px;color:var(--muted)}
.checks{list-style:none;margin:0 0 16px;padding:0}
.checks li{margin-bottom:8px}
.checks label{display:flex;gap:10px;align-items:flex-start;cursor:pointer;margin:0;font-weight:500}
.checks input{width:20px;height:20px;margin-top:3px;accent-color:var(--brand)}
.progress{height:8px;background:#fff;border-radius:99px;overflow:hidden;margin:0 0 6px}
.progress span{display:block;height:100%;width:0;background:var(--brand);transition:width .25s}
.ready-text{font-size:14px;color:var(--muted);margin:0 0 16px}
.panel-actions{display:flex;flex-wrap:wrap;gap:12px}
.options{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:44px}
.options div{border-top:4px solid var(--brand);padding-top:12px}
.options h3{margin:0 0 4px;font-size:17px}
.options p{margin:0;color:var(--muted);font-size:15px}
.cb{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;margin-bottom:44px}
.cb .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cb select,.cb input,.cb textarea{width:100%;padding:12px 14px;border:1px solid #b6c9c0;border-radius:10px;font:inherit;background:#fff}
.cb label{display:block;font-weight:700;margin:14px 0 6px}
.cb .count{font-size:13px;color:var(--muted);text-align:right}
.meta{color:var(--muted);font-size:14px}
.hub details{border-bottom:1px solid var(--line);padding:14px 0}
.hub summary{cursor:pointer;font-weight:700;font-size:17px}
.hub details p{margin:10px 0 0;color:var(--muted)}
@media (max-width:900px){
 .hero .wrap,.foot-grid,.cards,.post-cards,.timeline,.trust .wrap,.layout,.call-card,.options,.cb .row{grid-template-columns:1fr}
 .menu-toggle{display:block}
 .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);padding:10px 22px 16px}
 .nav.open{display:block}
 .nav ul{flex-direction:column;gap:6px}
 .header-call{display:none}
 .call-bar span{display:none}
 .call-bar .btn{width:100%}
 .side{position:static}
 .hero{padding:40px 0}
 section.block{padding:48px 0}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
