/* HT Page Kit v1 (HT_PAGE_KIT_V1, 2026-10-01). Loaded only on kit pages; every rule is scoped to body.htk. */
body.htk{--k-navy:#09034e;--k-navy2:#1d1a6e;--k-ink:#1f1d33;--k-text:#3b3950;--k-muted:#686680;--k-line:#e3e6ef;--k-soft:#f4f6fb;--k-mint:#eafaf7;--k-teal:#2ed9c3;--k-teal-d:#0b6f78;--k-blue:#00628a;--k-green:#0a7a37;--k-gold:#f5a623;--k-warn:#fff6e5;--k-r:16px;--k-sh:0 10px 28px rgba(9,3,78,.08)}

/* ---------- reading layout (plain pages + posts) */
body.htk--plain .uk-article{max-width:820px;margin-left:auto;margin-right:auto}
body.htk .htk-c{color:var(--k-text)}
body.htk:not(.htk--builder) .htk-c p,body.htk:not(.htk--builder) .htk-c li{font-size:17px;line-height:1.7}
body.htk:not(.htk--builder) .htk-c h2{font-size:25px;line-height:1.25;margin:44px 0 14px;color:var(--k-navy);letter-spacing:-.01em}
body.htk:not(.htk--builder) .htk-c h3{font-size:20px;line-height:1.3;margin:28px 0 10px;color:var(--k-ink)}
body.htk .htk-c h2[id],body.htk .htk-c h3[id]{scroll-margin-top:110px}
body.htk .htk-c a:not(.htk-btn):not(.uk-button){color:var(--k-teal-d);text-decoration:underline;text-underline-offset:2px}
@media (min-width:960px){body.htk:not(.htk--builder) .htk-c h2{font-size:31px}}
body.htk .uk-article-title{margin-bottom:10px}

/* ---------- builder pages: compact hero, centered text sections */
body.htk .htk-hero>.uk-background-cover{background-image:none!important;background-color:var(--k-navy)!important;padding-top:34px!important;padding-bottom:30px!important}
body.htk .htk-hero .uk-position-cover{display:none}
body.htk .htk-hero h1{font-size:34px;line-height:1.12;margin-bottom:10px}
body.htk .htk-hero .uk-h4{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--k-teal);margin-bottom:6px}
body.htk .htk-hero p{font-size:17px;line-height:1.55;color:#dde3f4}
@media (min-width:960px){body.htk .htk-hero>.uk-background-cover{padding-top:56px!important;padding-bottom:48px!important}body.htk .htk-hero h1{font-size:46px}}
body.htk .htk-hero h1 a{color:inherit!important;text-decoration:none!important}
/* phones: the call bar carries Call / Text / Book, so the hero buttons step aside and the verdict moves up */
@media (max-width:959px){body.htk .htk-hero .uk-margin:has(.uk-button){display:none}}
body.htk--builder:not(.htk--cityhero) .htk-c .uk-section-large,body.htk--builder:not(.htk--cityhero) .htk-c .uk-section-default.uk-section{padding-top:36px;padding-bottom:36px}
@media (min-width:960px){body.htk--builder:not(.htk--cityhero) .htk-c .uk-section-large{padding-top:56px;padding-bottom:56px}}
/* narrow the container, not the grid: a YOOtheme grid's negative left margin balances its column gutter, and resetting it shifts the column right */
body.htk--builder:not(.htk--cityhero) .htk-c .uk-section:not(.htk-hero)>.uk-container{max-width:880px}
body.htk--builder:not(.htk--cityhero) .htk-c .uk-section:not(.htk-hero) p,body.htk--builder:not(.htk--cityhero) .htk-c .uk-section:not(.htk-hero) li{font-size:17px;line-height:1.7}
body.htk .htk-wrap{max-width:880px;margin:0 auto;padding:0 15px;box-sizing:content-box}
@media (min-width:640px){body.htk .htk-wrap{padding:0 30px}}
@media (min-width:960px){body.htk .htk-wrap{padding:0 40px}}

/* ---------- byline */
body.htk .htk-byline{display:flex;align-items:center;gap:12px;margin:6px 0 18px}
body.htk .htk-byline__img{width:42px;height:42px;border-radius:50%;object-fit:cover;flex:0 0 42px;border:2px solid #fff;box-shadow:0 2px 8px rgba(9,3,78,.15)}
body.htk .htk-byline p{margin:0!important;font-size:14px!important;line-height:1.45!important;color:var(--k-muted)}
body.htk .htk-byline b{color:var(--k-ink)}
body.htk .htk-byline__date{display:block}
body.htk--builder .htk-byline{margin-top:20px}

/* ---------- answer card */
body.htk .htk-answer{position:relative;background:linear-gradient(180deg,#f1fbf9 0%,#fff 100%);border:1px solid #cdeee8;border-left:6px solid var(--k-teal);border-radius:var(--k-r);padding:18px 20px;margin:0 0 18px;box-shadow:var(--k-sh)}
body.htk .htk-answer p{font-size:18px!important;line-height:1.6!important;color:var(--k-ink);margin:0!important}
body.htk .htk-answer p>strong:first-child{display:inline-block;background:var(--k-navy);color:#fff;font-size:12px;line-height:1;letter-spacing:.07em;text-transform:uppercase;padding:6px 10px;border-radius:999px;margin:0 6px 4px 0;vertical-align:2px}
body.htk .htk-answer-sec{padding-top:26px!important;padding-bottom:26px!important}
body.htk .htk-answer-sec .uk-container>.uk-grid{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-left:6px solid var(--k-teal);border-radius:var(--k-r);padding:20px 22px 6px;margin-left:0!important;margin-right:0!important}
body.htk .htk-answer-sec .uk-container>.uk-grid>*{padding-left:0!important}
body.htk .htk-answer-sec h2{font-size:13px!important;letter-spacing:.08em;text-transform:uppercase;color:var(--k-teal)!important;margin:0 0 8px!important}
body.htk .htk-answer-sec p{font-size:17px!important;line-height:1.6!important}

/* ---------- buttons */
body.htk .htk-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 12px}
body.htk .htk-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 14px;border-radius:12px;font-size:16px;font-weight:700;line-height:1.1;text-decoration:none!important;text-align:center;box-sizing:border-box;transition:transform .12s ease,box-shadow .12s ease}
body.htk .htk-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(9,3,78,.16)}
body.htk .htk-btn--call{grid-column:1/-1;background:var(--k-teal);color:#08263a!important;font-size:18px;min-height:56px}
body.htk .htk-btn--text{background:#fff;color:var(--k-navy)!important;border:2px solid var(--k-navy)}
body.htk .htk-btn--book{background:var(--k-navy);color:#fff!important}
body.htk .htk-btn .htk-ico{flex:0 0 auto}
@media (min-width:640px){body.htk .htk-btns{grid-template-columns:1.4fr 1fr 1fr}body.htk .htk-btn--call{grid-column:auto}}
body.htk .htk-btns--compact .htk-btn{min-height:46px;font-size:15px}
body.htk .htk-btns--compact .htk-btn--call{min-height:50px;font-size:16px}

/* ---------- local help card */
body.htk .htk-local{background:var(--k-navy);background-image:radial-gradient(120% 140% at 100% 0%,#2a2590 0%,var(--k-navy) 55%);color:#fff;border-radius:20px;padding:20px 18px 16px;margin:0 0 22px;box-shadow:0 14px 34px rgba(9,3,78,.22)}
body.htk .htk-local p{color:#dde3f4;margin:0}
body.htk .htk-pill{display:inline-flex;align-items:center;gap:6px;background:rgba(46,217,195,.16);color:var(--k-teal)!important;font-size:12px!important;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:999px;margin-bottom:10px!important}
body.htk .htk-local__h{font-size:23px!important;line-height:1.2!important;font-weight:800;color:#fff!important;margin:2px 0 8px!important}
body.htk .htk-local__p{font-size:16px!important;line-height:1.55!important}
body.htk .htk-local__p b{color:#fff}
body.htk .htk-local .htk-btn--text{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.7)}
body.htk .htk-local .htk-btn--book{background:#fff;color:var(--k-navy)!important}
body.htk .htk-chips{list-style:none;margin:4px 0 10px!important;padding:0!important;display:flex;flex-wrap:wrap;gap:6px 14px}
body.htk .htk-chips li{display:flex;align-items:center;gap:6px;font-size:14px!important;line-height:1.4!important;color:#dde3f4;margin:0!important}
body.htk .htk-chips .htk-ico{color:var(--k-teal);width:16px;height:16px}
body.htk .htk-rating{font-size:14px!important;line-height:1.4!important;padding-top:10px!important;border-top:1px solid rgba(255,255,255,.14)}
body.htk .htk-local a:not(.htk-btn),body.htk .htk-answer-sec a:not(.uk-button){color:#9ff2e7!important}
body.htk .htk-rating b{color:#fff}
body.htk .htk-stars{color:var(--k-gold);letter-spacing:1px}

/* ---------- jump links */
body.htk .htk-toc{margin:0 0 26px;padding:12px 0 2px;border-top:1px solid var(--k-line);border-bottom:1px solid var(--k-line)}
body.htk .htk-toc__t{font-size:12px!important;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--k-muted);margin:0 0 8px!important}
body.htk .htk-toc ol{list-style:none;margin:0!important;padding:0 0 10px!important;display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
body.htk .htk-toc ol::-webkit-scrollbar{display:none}
body.htk .htk-toc li{flex:0 0 auto;margin:0!important;font-size:14px!important;line-height:1.3!important}
body.htk .htk-toc a{display:block;white-space:nowrap;padding:8px 12px;border-radius:999px;background:var(--k-soft);border:1px solid var(--k-line);color:var(--k-navy)!important;text-decoration:none!important;font-weight:600}
@media (min-width:960px){body.htk .htk-toc ol{flex-wrap:wrap;overflow:visible}}

/* ---------- mid card */
body.htk .htk-mid{background:var(--k-mint);border:1px solid #c6eee6;border-radius:var(--k-r);padding:18px 18px 8px;margin:24px 0}
body.htk .htk-mid__h{font-size:20px!important;line-height:1.3!important;font-weight:800;color:var(--k-navy);margin:0 0 6px!important}
body.htk .htk-mid__p{font-size:16px!important;line-height:1.55!important;margin:0!important}

/* ---------- end card */
body.htk .htk-end{display:grid;grid-template-columns:1fr;background:#fff;border:1px solid var(--k-line);border-radius:20px;overflow:hidden;margin:36px 0;box-shadow:var(--k-sh)}
body.htk .htk-end__media{background:var(--k-soft);aspect-ratio:16/9;overflow:hidden}
body.htk .htk-end__img{width:100%;height:100%;object-fit:cover;display:block}
body.htk .htk-end__body{padding:20px 18px 14px}
body.htk .htk-end__body p{font-size:16px;line-height:1.55;margin:0 0 4px}
body.htk .htk-end__body p.htk-end__h{font-size:22px!important;line-height:1.2!important;font-weight:800;color:var(--k-navy);margin:0 0 8px!important}
body.htk .htk-end__body p.htk-end__meta{font-size:13px!important;line-height:1.5!important;color:var(--k-muted)}
@media (min-width:760px){body.htk .htk-end{grid-template-columns:300px 1fr}body.htk .htk-end__media{aspect-ratio:auto}}
/* the end card body is narrow next to the van photo: Call gets its own row so the number never wraps */
body.htk .htk-end .htk-btns{grid-template-columns:1fr 1fr}
body.htk .htk-end .htk-btn--call{grid-column:1/-1}

/* ---------- photos */
body.htk .htk-photo{margin:22px 0 26px}
body.htk .htk-photo__img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:14px;background:var(--k-soft)}
body.htk .htk-photo figcaption{font-size:14px;line-height:1.45;color:var(--k-muted);margin-top:8px;padding-left:12px;border-left:3px solid var(--k-teal)}
@media (min-width:960px){body.htk .htk-photo__img{aspect-ratio:16/10}}

/* ---------- tables */
body.htk .htk-table{margin:18px 0 22px;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--k-line);border-radius:14px;background:#fff}
body.htk .htk-table table{width:100%!important;border-collapse:collapse!important;margin:0!important;border:0!important;font-size:15px}
body.htk .htk-table th{background:var(--k-navy)!important;color:#fff!important;font-weight:700;text-align:left;padding:12px 14px!important;border:0!important;font-size:14px;text-transform:none}
body.htk .htk-table td{padding:12px 14px!important;border:0!important;border-top:1px solid var(--k-line)!important;vertical-align:top;color:var(--k-text);background:transparent!important}
body.htk .htk-table tr:nth-child(even) td{background:var(--k-soft)!important}
body.htk .htk-table td:first-child{font-weight:600;color:var(--k-ink)}
body.htk .htk-table--price td:last-child{font-weight:800;color:var(--k-navy);white-space:nowrap;text-align:right}
body.htk .htk-table--price th:last-child{text-align:right}
@media (max-width:639px){
	body.htk .htk-table--cards{border:0;background:transparent;overflow:visible}
	body.htk .htk-table--cards table,body.htk .htk-table--cards tbody,body.htk .htk-table--cards tr,body.htk .htk-table--cards td{display:block;width:100%!important;box-sizing:border-box}
	body.htk .htk-table--cards thead,body.htk .htk-table--cards tr:first-child:not(:has(td)){display:none}
	body.htk .htk-table--cards tr{background:#fff!important;border:1px solid var(--k-line);border-radius:14px;margin:0 0 12px;overflow:hidden;box-shadow:0 4px 14px rgba(9,3,78,.05)}
	body.htk .htk-table--cards tr:nth-child(n) td{border:0!important;padding:8px 14px!important;background:transparent!important;color:var(--k-text)}
	body.htk .htk-table--cards tr:nth-child(n) td:first-child{background:var(--k-navy)!important;color:#fff;font-size:16px;font-weight:800;padding:12px 14px!important}
	body.htk .htk-table--cards td[data-label]:not(:first-child)::before{content:attr(data-label);display:block;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--k-muted);margin-bottom:2px}
	body.htk .htk-table--cards tr:nth-child(n) td:last-child:not(:first-child){background:var(--k-mint)!important;font-weight:600;color:var(--k-ink)}
}

/* ---------- error codes, do / don't, steps, notes */
body.htk ul.htk-codes{list-style:none;padding:0!important;margin:12px 0 20px!important;display:grid;gap:8px}
body.htk ul.htk-codes li{margin:0!important;padding:10px 12px 10px 82px;position:relative;background:#fff;border:1px solid var(--k-line);border-radius:12px;min-height:26px}
body.htk ul.htk-codes li>strong:first-child{position:absolute;left:10px;top:10px;width:58px;box-sizing:border-box;text-align:center;background:var(--k-navy);color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:1.5;padding:2px 4px;border-radius:8px}
body.htk .htk-dodont{display:grid;grid-template-columns:1fr;gap:14px;margin:16px 0 22px}
@media (min-width:760px){body.htk .htk-dodont{grid-template-columns:1fr 1fr}}
body.htk .htk-do,body.htk .htk-call{border-radius:var(--k-r);padding:16px 16px 6px;border:1px solid var(--k-line)}
body.htk .htk-do{background:#f1faf4;border-color:#cfe9d8}
body.htk .htk-call{background:#fff7f2;border-color:#f6d7c3}
body.htk .htk-dodont__h{display:flex;align-items:center;gap:8px;font-weight:800!important;color:var(--k-ink);margin:0 0 6px!important}
body.htk .htk-do .htk-dodont__h .htk-ico{color:var(--k-green)}
body.htk .htk-call .htk-dodont__h .htk-ico{color:#c4521b}
body.htk .htk-dodont ul{padding-left:20px!important;margin:0 0 8px!important}
body.htk .htk-dodont li{font-size:16px!important;margin:0 0 6px!important}
body.htk ol.htk-steps,body.htk ul.htk-steps{list-style:none;counter-reset:htk;padding:0!important;margin:14px 0 20px!important}
body.htk .htk-steps>li{counter-increment:htk;position:relative;padding:12px 14px 12px 56px;margin:0 0 10px!important;background:#fff;border:1px solid var(--k-line);border-radius:12px}
body.htk .htk-steps>li::before{content:counter(htk);position:absolute;left:14px;top:12px;width:28px;height:28px;border-radius:50%;background:var(--k-teal);color:#08263a;font-weight:800;font-size:15px;line-height:28px;text-align:center}
body.htk .htk-warn{background:var(--k-warn);border:1px solid #f4dcae;border-left:6px solid var(--k-gold);border-radius:12px;padding:14px 16px}
body.htk .htk-note{background:var(--k-mint)!important;border:1px solid #c6eee6!important;border-left:6px solid var(--k-teal)!important;border-radius:12px;padding:14px 16px!important}

/* ---------- FAQ blocks (existing markup, styled) */
body.htk .htk-c .ht-faq h3,body.htk .ht-ringer-qa .ht-faq h3{font-size:18px!important;line-height:1.35!important;color:var(--k-navy);margin:22px 0 6px!important;padding-top:14px;border-top:1px solid var(--k-line)}
body.htk .ht-ringer-qa{margin:30px 0}
body.htk .ht-ringer-qa h2{font-size:24px;line-height:1.25;color:var(--k-navy)}
body.htk .ht-ringer-faq{border-top:1px solid var(--k-line)}

/* ---------- moved blocks: reviewer + sources inside the article */
body.htk .htk-c .ht-author-byline{margin:30px 0!important;max-width:none!important;background:var(--k-soft)!important;border:1px solid var(--k-line)!important;border-left:6px solid var(--k-navy)!important;border-radius:var(--k-r)!important}
body.htk .htk-c .ht-cited-sources{max-width:none!important;margin:20px 0 10px!important;border-radius:12px}

/* ---------- sticky phone bar (replaces the old one on kit pages) */
body.htk #ht-mobile-cta{display:none!important}
body.htk .htk-bar{position:fixed;left:0;right:0;bottom:0;z-index:990;display:grid;grid-template-columns:1.25fr 1fr 1.25fr;gap:8px;padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:rgba(9,3,78,.97);box-shadow:0 -6px 20px rgba(0,0,0,.18)}
body.htk .htk-bar a{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;border-radius:12px;font-size:16px;font-weight:800;text-decoration:none!important}
body.htk .htk-bar__call{background:var(--k-teal);color:#08263a!important}
body.htk .htk-bar__text{background:transparent;color:#fff!important;border:2px solid rgba(255,255,255,.65)}
body.htk .htk-bar__book{background:#fff;color:var(--k-navy)!important}
body.htk{padding-bottom:76px}
@media (min-width:960px){body.htk .htk-bar{display:none}body.htk{padding-bottom:0}}

/* ---------- small screens */
@media (max-width:639px){
	body.htk .htk-local__h{font-size:21px!important}
	body.htk .htk-answer{padding:16px}
	body.htk .htk-answer p{font-size:17px!important}
}

/* ---------- spacing: the help card never touches a colored answer band (owner 10/02) */
body.htk .htk-answer-sec+.htk-wrap{padding-top:24px}
@media (min-width:960px){body.htk .htk-answer-sec+.htk-wrap{padding-top:32px}}

/* ---------- desktop layout v2 (HT_PAGE_KIT_DESKTOP_V2): article + sticky help rail, 1200px and wider only */
body.htk .htk-rail,body.htk .htk-rail-post{display:none}
@media (min-width:1200px){
	body.htk--v2 .htk-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;column-gap:56px;align-items:start;max-width:1160px;margin:0 auto;padding:0 40px;box-sizing:content-box}
	body.htk--v2.htk--plain .uk-article{max-width:none}
	body.htk--v2.htk--plain .htk-layout{max-width:none;padding:0}
	body.htk--v2 .htk-main{min-width:0}
	body.htk--v2 .htk-hero .uk-container{max-width:1160px!important;padding-left:40px!important;padding-right:40px!important}
	/* builder sections become blocks of the main column; colored ones become rounded panels */
	body.htk--v2 .htk-main .htk-wrap{max-width:none;padding:0}
	body.htk--v2 .htk-main .uk-section>.uk-container{max-width:none;padding-left:0;padding-right:0}
	body.htk--v2 .htk-main .uk-section{padding-top:34px!important;padding-bottom:34px!important}
	body.htk--v2 .htk-main .uk-section-muted,body.htk--v2 .htk-main .uk-section-secondary,body.htk--v2 .htk-main .uk-section-primary{border-radius:20px;padding-left:36px!important;padding-right:36px!important;margin:26px 0}
	body.htk--v2 .htk-main .htk-answer-sec{margin-top:6px}
	/* the rail carries the help card and the jump links, so the inline copies step aside */
	body.htk--v2 .htk-main .htk-local:not(.htk-local--rail),body.htk--v2 .htk-main .htk-toc{display:none}
	body.htk--v2.htk--post article .htk-local,body.htk--v2.htk--post article .htk-toc{display:none}
	body.htk--v2 .htk-rail{display:block;position:sticky;top:116px;margin-top:20px}
	body.htk--v2 .htk-rail__in{max-height:calc(100vh - 132px);overflow-y:auto;scrollbar-width:thin;padding:2px 4px 12px 2px}
	body.htk--v2 .htk-rail-post{display:block;margin:0 0 28px}
	body.htk--v2 .htk-rail-post--sticky{position:sticky;top:116px;margin:28px 0 0}
	body.htk--v2 .htk-rail-post--sticky .htk-btns{grid-template-columns:1fr 1fr;margin:12px 0 0}
	body.htk--v2 .htk-rail-post--sticky .htk-btn--call{grid-column:1/-1}
}
/* rail help card: the local card, compact and stacked */
body.htk .htk-local--rail{margin:0 0 16px;padding:18px 18px 14px}
body.htk .htk-local--rail .htk-local__h{font-size:20px!important;margin:0 0 6px!important}
body.htk .htk-local--rail .htk-local__p{font-size:15px!important;line-height:1.5!important}
body.htk .htk-local--rail .htk-btns{grid-template-columns:1fr 1fr;margin:14px 0 12px}
body.htk .htk-local--rail .htk-btn--call{grid-column:1/-1}
body.htk .htk-local--rail .htk-chips{gap:4px 12px}body.htk .htk-local--rail .htk-chips li{font-size:13px!important}
/* rail jump links: a vertical list that marks the section being read */
body.htk .htk-toc--rail{margin:0;padding:14px 14px 8px;border:1px solid var(--k-line);border-radius:16px;background:#fff;box-shadow:var(--k-sh)}
body.htk .htk-toc--rail ol{display:block!important;overflow:visible!important;padding:0 0 4px!important}
body.htk .htk-toc--rail li{font-size:14px!important;line-height:1.35!important}
body.htk .htk-toc--rail a{white-space:normal;padding:7px 10px;border:0;border-left:3px solid transparent;border-radius:0 10px 10px 0;background:none;font-weight:600;color:var(--k-ink)!important}
body.htk .htk-toc--rail a:hover{background:var(--k-soft)}
body.htk .htk-toc--rail a.is-on{border-left-color:var(--k-teal);background:var(--k-mint);color:var(--k-navy)!important}
/* v2 desktop: the Quick Verdict / price summary panel is the box itself (no box inside the box); the site menu
   slides back in when scrolling up (100px), so sticky rails sit below it */
@media (min-width:1200px){
	body.htk--v2 .htk-main .htk-answer-sec{border-left:6px solid var(--k-teal)}
	body.htk--v2 .htk-main .htk-answer-sec .uk-container>.uk-grid{background:none;border:0;border-radius:0;padding:0}
}

/* ---------- v2 sections (HT_PAGE_KIT_SECTIONS_V2): "Related" cards + closing call to action, all screen sizes */
/* Related: compact link cards, a type tag from the link target, a text link with an arrow instead of a pill */
body.htk--v2 .htk-related h2{text-align:left!important;font-size:24px!important;line-height:1.25!important;color:var(--k-navy)!important;margin:0 0 18px!important}
body.htk--v2 .htk-related a.uk-card{display:flex;flex-direction:column;background:#fff!important;border:1px solid var(--k-line);border-radius:16px!important;box-shadow:0 2px 10px rgba(9,3,78,.05)!important;padding:18px 20px 16px!important;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;text-decoration:none!important}
body.htk--v2 .htk-related a.uk-card:hover{border-color:var(--k-teal);box-shadow:0 12px 26px rgba(9,3,78,.12)!important;transform:translateY(-2px)}
body.htk--v2 .htk-related a.uk-card::before{content:"Service";align-self:flex-start;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;line-height:1;color:#0b7f73;background:var(--k-mint);padding:5px 9px;border-radius:999px;margin:0 0 12px}
body.htk--v2 .htk-related a.uk-card[href*="/pricing/"]::before{content:"Cost guide"}
body.htk--v2 .htk-related a.uk-card[href*="/problems/"]::before{content:"Troubleshooting"}
body.htk--v2 .htk-related a.uk-card[href*="/guides/"]::before{content:"Buying guide"}
body.htk--v2 .htk-related .el-title{margin:0!important;font-size:18px!important;line-height:1.3!important;color:var(--k-navy)!important}
body.htk--v2 .htk-related .el-content{margin-top:6px!important;font-size:15px!important;line-height:1.5!important;color:var(--k-muted)!important}
body.htk--v2 .htk-related a.uk-card>.uk-margin-top:last-child{margin-top:auto!important;padding-top:14px}
body.htk--v2 .htk-related .el-link.uk-button{display:inline-flex;align-items:center;gap:6px;background:none!important;border:0!important;box-shadow:none!important;padding:0!important;min-height:0!important;height:auto!important;line-height:1.4!important;border-radius:0!important;color:#0b7f73!important;font-size:15px!important;font-weight:700;text-transform:none!important;white-space:nowrap}
body.htk--v2 .htk-related .el-link.uk-button::after{content:"\2192";transition:transform .15s ease}
body.htk--v2 .htk-related a.uk-card:hover .el-link.uk-button::after{transform:translateX(3px)}
/* closing call to action: the brand navy panel with the same three actions as the rest of the page */
body.htk--v2 .htk-closing{background-color:var(--k-navy)!important;background-image:radial-gradient(120% 160% at 100% 0%,#2a2590 0%,var(--k-navy) 60%)!important;color:#fff}
body.htk--v2 .htk-closing h2{color:#fff!important;font-size:28px!important;line-height:1.2!important;margin-bottom:8px!important}
body.htk--v2 .htk-closing p{color:#dde3f4!important;font-size:17px!important}
body.htk--v2 .htk-closing__cta{max-width:640px;margin:18px auto 0}
body.htk--v2 .htk-closing .htk-btn--text{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.7)}
body.htk--v2 .htk-closing .htk-btn--book{background:#fff;color:var(--k-navy)!important}
body.htk--v2 .htk-closing p.htk-closing__meta{font-size:14px!important;line-height:1.5!important;color:#c9d2ee!important;margin:4px 0 0!important}
@media (min-width:960px){body.htk--v2 .htk-closing h2{font-size:34px!important}}
/* Related cards as a real grid with gaps at every width (the theme's stacked rows had none on phones) */
body.htk--v2 .htk-related [uk-grid]{display:grid!important;grid-template-columns:1fr;gap:14px;margin-left:0!important}
body.htk--v2 .htk-related [uk-grid]>*{padding-left:0!important;margin-top:0!important;width:auto!important}
@media (min-width:640px){body.htk--v2 .htk-related [uk-grid]{grid-template-columns:1fr 1fr}}
@media (min-width:960px){body.htk--v2 .htk-related [uk-grid]{grid-template-columns:repeat(3,minmax(0,1fr))}}
body.htk .htk-nowrap{white-space:nowrap}

/* ---------- proof at the decision point (v2): team photos, a real review, first-party job count */
body.htk .htk-team{display:flex;align-items:center;gap:12px;margin:2px 0 12px}
body.htk .htk-team__imgs{display:flex;flex:0 0 auto}
body.htk .htk-team__img{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid var(--k-navy);margin-left:-10px;background:#fff}
body.htk .htk-team__img:first-child{margin-left:0}
body.htk .htk-team__p{font-size:14px!important;line-height:1.4!important;color:#dde3f4;margin:0!important}
body.htk .htk-team__p a{color:#9ff2e7!important;font-weight:700;white-space:nowrap}
body.htk .htk-quote{margin:14px 0 0;padding:14px 16px;border-radius:14px;background:var(--k-soft);border-left:4px solid var(--k-teal)}
body.htk .htk-quote blockquote{margin:0;padding:0;border:0;font-size:15px!important;line-height:1.55!important;font-style:normal;color:var(--k-ink)}
body.htk .htk-quote figcaption{margin-top:6px;font-size:13px!important;color:var(--k-muted)}
body.htk .htk-local .htk-quote{background:rgba(255,255,255,.07);border-left-color:var(--k-teal)}
body.htk .htk-local .htk-quote blockquote{color:#eef1fb}
body.htk .htk-local .htk-quote figcaption{color:#c9d2ee}
body.htk .htk-end .htk-quote{margin:4px 0 14px}
/* ---------- cost pages: "At a glance" facts under the short answer */
body.htk .htk-glance__t{margin:14px 0 8px!important;font-size:12px!important;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#0b7f73}
body.htk dl.htk-glance{display:grid;grid-template-columns:1fr;gap:0;margin:0;border:1px solid #cdeee8;border-radius:12px;overflow:hidden;background:#fff}
body.htk dl.htk-glance>div{display:grid;grid-template-columns:42% 58%;gap:10px;padding:9px 12px;border-top:1px solid #e3f4f0}
body.htk dl.htk-glance>div:first-child{border-top:0}
body.htk dl.htk-glance dt{font-size:14px;font-weight:700;color:var(--k-navy);margin:0}
body.htk dl.htk-glance dd{font-size:14px;line-height:1.45;color:var(--k-ink);margin:0}
@media (min-width:760px){body.htk dl.htk-glance{grid-template-columns:1fr 1fr}body.htk dl.htk-glance>div:nth-child(2){border-top:0}body.htk dl.htk-glance>div:nth-child(odd){border-right:1px solid #e3f4f0}}
/* ---------- visitors outside US Eastern time (rarely in our area): a short line instead of the full local pitch */
body.htk .htk-local__far{display:none}
html.htk-far body.htk--v2 .htk-local__far{display:block;font-size:15px!important;line-height:1.5!important;color:#dde3f4;margin:0 0 4px!important}
html.htk-far body.htk--v2 .htk-local .htk-local__h,html.htk-far body.htk--v2 .htk-local .htk-local__p,html.htk-far body.htk--v2 .htk-local .htk-chips,html.htk-far body.htk--v2 .htk-local .htk-team{display:none}
html.htk-far body.htk--v2 .htk-local{padding:14px 16px 12px}
html.htk-far body.htk--v2 .htk-mid{display:none}
html.htk-far body.htk--v2 .htk-bar{display:none}
html.htk-far body.htk--v2{padding-bottom:0}
/* ---------- glance card on pages whose short answer sits in a dark section (Kohler) */
body.htk .htk-answer--glance{padding:14px 16px 16px}
body.htk .htk-answer--glance .htk-glance__t{margin-top:0!important}
/* ---------- customer reviews row above the end card (HT_PAGE_KIT_REVIEWS_V2): real Google reviews, word for word */
body.htk .htk-reviews{margin:36px 0 -14px}
body.htk .htk-reviews p.htk-reviews__t{margin:0 0 12px!important;font-size:12px!important;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#0b7f73}
body.htk .htk-reviews__row{display:grid;grid-template-columns:1fr;gap:12px}
body.htk .htk-reviews .htk-quote{margin:0;background:#fff;border:1px solid var(--k-line);border-left:4px solid var(--k-teal);box-shadow:0 2px 10px rgba(9,3,78,.05);display:flex;flex-direction:column}
body.htk .htk-reviews .htk-quote figcaption{margin-top:auto;padding-top:10px}
body.htk .htk-reviews .htk-stars{color:var(--k-gold)}
body.htk .htk-reviews p.htk-reviews__more{margin:12px 0 0!important;font-size:14px!important;line-height:1.5!important;color:var(--k-muted)}
body.htk .htk-reviews__more a{font-weight:700;color:var(--k-teal-d)!important;text-decoration:underline}
@media (min-width:760px){body.htk .htk-reviews__row{grid-template-columns:repeat(3,minmax(0,1fr))}body.htk .htk-reviews__row:has(>:nth-child(2):last-child){grid-template-columns:1fr 1fr}}
/* ---------- More on this topic (HT_PAGE_KIT_MORE_V1) */
body.htk .htk-more{margin:30px 0;padding:18px 18px 14px;background:var(--k-soft);border:1px solid var(--k-line);border-radius:var(--k-r)}
body.htk .htk-more p.htk-more__t{margin:0 0 10px!important;font-size:18px!important;line-height:1.3!important;font-weight:800;color:var(--k-navy)}
body.htk .htk-more ul{list-style:none;margin:0!important;padding:0!important;display:grid;grid-template-columns:1fr;gap:8px}
body.htk .htk-more li{margin:0!important;padding:0!important;font-size:inherit}
body.htk .htk-more li::before{content:none!important}
body.htk .htk-more a{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 14px;background:#fff;border:1px solid var(--k-line);border-radius:12px;text-decoration:none!important;color:var(--k-navy)!important;transition:border-color .15s ease,box-shadow .15s ease}
body.htk .htk-more a:hover{border-color:var(--k-teal);box-shadow:0 6px 16px rgba(9,3,78,.08)}
body.htk .htk-more a::after{content:"\2192";margin-left:auto;color:#0b7f73;font-weight:700}
body.htk .htk-more__k{flex:0 0 auto;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;line-height:1;color:#0b7f73;background:var(--k-mint);padding:5px 8px;border-radius:999px}
body.htk .htk-more__a{font-size:16px;line-height:1.35;font-weight:700}
@media (min-width:760px){body.htk .htk-more ul{grid-template-columns:1fr 1fr}}
/* ---------- price estimator (HT_PAGE_KIT_ESTIMATOR_V1) */
body.htk .htk-est{margin:28px 0 0;padding:20px 18px 8px;background:#fff;border:2px solid var(--k-teal);border-radius:20px;box-shadow:var(--k-sh)}
body.htk .htk-est p.htk-est__h{margin:0 0 4px!important;font-size:22px!important;line-height:1.25!important;font-weight:800;color:var(--k-navy)}
body.htk .htk-est p.htk-est__p{margin:0 0 14px!important;font-size:16px!important;line-height:1.5!important;color:var(--k-text)}
body.htk .htk-est__grid{display:grid;grid-template-columns:1fr;gap:14px}
body.htk .htk-est__drops span,body.htk .htk-est__set legend{display:block;margin:0 0 6px;padding:0;font-size:14px;font-weight:800;color:var(--k-navy)}
body.htk .htk-est__drops input{width:120px;height:52px;padding:0 12px;font-size:22px;font-weight:800;color:var(--k-navy);border:2px solid var(--k-line);border-radius:12px;background:var(--k-soft);box-sizing:border-box}
body.htk .htk-est__drops input:focus{outline:none;border-color:var(--k-teal);background:#fff}
body.htk .htk-est__set{margin:0;padding:0;border:0;min-width:0}
body.htk .htk-est__opt{display:flex;align-items:flex-start;gap:10px;margin:0 0 6px;padding:10px 12px;border:1px solid var(--k-line);border-radius:12px;cursor:pointer;font-size:15px;line-height:1.4;color:var(--k-ink)}
body.htk .htk-est__opt:has(input:checked){border-color:var(--k-teal);background:var(--k-mint)}
body.htk .htk-est__opt input{margin:3px 0 0;width:18px;height:18px;flex:0 0 auto;accent-color:#0b7f73}
body.htk .htk-est__opt b{color:var(--k-navy)}
body.htk .htk-est__opt small{display:block;font-size:13px;color:var(--k-muted)}
body.htk .htk-est__out{display:flex;flex-direction:column;gap:2px;margin:16px 0 0;padding:14px 16px;background:var(--k-navy);border-radius:14px;color:#fff}
body.htk .htk-est__lbl{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--k-teal)}
body.htk .htk-est__out b{font-size:34px;line-height:1.15;font-weight:800;color:#fff}
body.htk .htk-est__detail{font-size:14px;line-height:1.45;color:#dde3f4}
body.htk .htk-est p.htk-est__note{margin:10px 0 0!important;font-size:13px!important;line-height:1.5!important;color:var(--k-muted)}
@media (min-width:760px){body.htk .htk-est{padding:24px 24px 10px}body.htk .htk-est__grid{grid-template-columns:150px 1fr 1fr;align-items:start}}
@media (min-width:1200px){body.htk--v2 .htk-main .htk-est__grid{grid-template-columns:150px 1fr}body.htk--v2 .htk-main .htk-est__grid>.htk-est__set:last-child{grid-column:2}}
@media (max-width:759px){body.htk .htk-reviews__row>:nth-child(3){display:none}}
body.htk .htk-answer p.htk-glance__t{font-size:12px!important;line-height:1.3!important;margin:14px 0 8px!important}body.htk .htk-answer--glance p.htk-glance__t{margin-top:0!important}

/* ---------- main-page layout v3 (HT_PAGE_KIT_V3_MAINLOOK, 2026-10-04): the same hero, area and closing blocks as the
   menu hubs and core pages (About page design system). Only on body.htk--v3. */
body.htk--v3{--h-navy:#09034E;--h-blue:#3D5A9E;--h-teal:#2ED9C3;--h-tealdk:#0b6f77;--h-ink:#1d2433;--h-muted:#4f5a73;--h-line:#e2e7f1;--h-soft:#f4f7fc}
body.htk--v3 .htk3-band{max-width:1160px;margin:0 auto;padding:20px 15px 4px;box-sizing:content-box}
@media (min-width:640px){body.htk--v3 .htk3-band{padding:24px 30px 6px}}
@media (min-width:960px){body.htk--v3 .htk3-band{padding:32px 40px 8px}}
body.htk--v3.htk--post .htk3-band,body.htk--v3.htk--plain .htk3-band{max-width:none;padding:0;margin:0 0 30px}
body.htk--v3.htk--plain .uk-article{max-width:1160px}
body.htk--v3 .htk3-hero{background:var(--h-blue);background-image:radial-gradient(circle at 88% 12%,rgba(46,217,195,.22),rgba(46,217,195,0) 46%);color:#fff;border-radius:22px;padding:44px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center;text-align:left}
body.htk--v3 .htk3-pills{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
body.htk--v3 .htk-c p.htk3-pill{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.14);color:#fff;font-size:14px;line-height:1.3;font-weight:700;padding:7px 15px 7px 12px;border-radius:99px;margin:0}
body.htk--v3 .htk-c p.htk3-pill--free{background:rgba(46,217,195,.22)}
body.htk--v3 .htk3-dot{width:10px;height:10px;border-radius:50%;background:#34e39b;flex:0 0 10px}
body.htk--v3 .htk-c p.htk3-kicker{font-size:13px;line-height:1.3;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--h-teal);margin:0 0 8px}
body.htk--v3 .htk-c h1.htk3-h1{color:#fff;font-size:clamp(30px,3.6vw,46px);line-height:1.1;font-weight:800;margin:0 0 16px;letter-spacing:-.01em}
body.htk--v3 .htk-c .htk3-h1 a{color:inherit!important;text-decoration:none!important}
body.htk--v3 .htk-c .htk3-lead p{color:#fff;font-size:18px;line-height:1.55;margin:0 0 14px;opacity:.97}
body.htk--v3 .htk-c .htk3-lead strong,body.htk--v3 .htk-c .htk3-lead b{color:#fff}
body.htk--v3 .htk-c p.htk3-hook{color:#fff;font-size:16px;line-height:1.5;margin:0 0 20px;opacity:.95}
body.htk--v3 .htk-c p.htk3-hook b{color:var(--h-teal)}
body.htk--v3 .htk-c p.htk3-far{display:none}
html.htk-far body.htk--v3 .htk-c p.htk3-far{display:block;color:#fff;font-size:16px;line-height:1.5;margin:0 0 18px}
html.htk-far body.htk--v3 .htk-c p.htk3-hook{display:none}
body.htk--v3 .htk3-ctas{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 22px}
body.htk--v3 .htk-c a.htk3-btn{box-sizing:border-box;max-width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 22px;border-radius:12px;font-weight:800;font-size:17px;text-decoration:none!important;line-height:1.2;text-align:center;transition:background .15s ease}
body.htk--v3 .htk-c a.htk3-btn--teal{background:var(--h-teal);color:var(--h-navy)!important}
body.htk--v3 .htk-c a.htk3-btn--teal:hover{background:#5fe6d5}
body.htk--v3 .htk-c a.htk3-btn--ghost{border:2px solid rgba(255,255,255,.8);color:#fff!important}
body.htk--v3 .htk-c a.htk3-btn--ghost:hover{background:rgba(255,255,255,.1)}
body.htk--v3 .htk-c ul.htk3-trust{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px}
body.htk--v3 .htk-c ul.htk3-trust li{display:flex;align-items:center;gap:7px;font-size:14px;line-height:1.4;color:#fff;opacity:.95;margin:0;padding:0;white-space:nowrap}
body.htk--v3 .htk-c ul.htk3-trust li::before{content:none}
body.htk--v3 .htk3-trust .htk-ico{width:16px;height:16px;color:var(--h-teal)}
body.htk--v3 .htk3-card{background:#fff;color:var(--h-ink);border-radius:18px;padding:24px 26px;box-shadow:0 18px 40px rgba(9,3,78,.22)}
body.htk--v3 .htk-c p.htk3-cardtag{font-size:14px;line-height:1.3;font-weight:800;color:var(--h-tealdk);margin:0 0 6px;text-transform:uppercase;letter-spacing:.06em}
body.htk--v3 dl.htk3-facts{margin:0;padding:0}
body.htk--v3 .htk3-facts>div{display:grid;grid-template-columns:132px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--h-line)}
body.htk--v3 .htk3-facts>div:last-child{border-bottom:0}
body.htk--v3 .htk3-facts dt{font-weight:800;color:var(--h-navy);margin:0;font-size:15px;line-height:1.4}
body.htk--v3 .htk3-facts dd{margin:0;color:var(--h-ink);font-size:15px;line-height:1.45}
body.htk--v3 .htk3-facts a{color:var(--h-tealdk)!important;font-weight:700}
/* the byline now opens the article column under the hero */
body.htk--v3 .htk-main>.htk-wrap:first-child .htk-byline,body.htk--v3 .htk-main>.htk-byline:first-child{margin-top:4px}
/* mid card: the hubs' light teal band */
body.htk--v3 .htk-mid{background:#e6faf7;border:0;border-radius:20px;padding:24px 26px 14px}
body.htk--v3 .htk-end{border-radius:22px}
/* tail: where we work + closing call to action */
body.htk--v3 .htk3-tail{margin:44px 0 8px}
body.htk--v3.htk--post .htk3-tail{margin:56px 0 0}
body.htk--v3 .htk3-sec{margin:0 0 40px}
body.htk--v3 .htk-c p.htk3-h2{color:var(--h-navy);font-size:clamp(24px,2.6vw,32px);line-height:1.15;font-weight:800;margin:0 0 10px}
body.htk--v3 .htk-c p.htk3-intro{color:var(--h-muted);font-size:17px;line-height:1.55;margin:0 0 20px}
body.htk--v3 .htk3-area{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 14px}
body.htk--v3 .htk3-county{background:var(--h-soft);border-radius:16px;padding:18px 20px}
body.htk--v3 .htk-c .htk3-county p{font-size:15px;line-height:1.55;margin:0;color:var(--h-ink)}
body.htk--v3 .htk-c .htk3-county p.htk3-h3{color:var(--h-navy);font-size:19px;line-height:1.25;font-weight:800;margin:0 0 6px}
body.htk--v3 .htk-c p.htk3-more{font-size:16px;margin:0}
body.htk--v3 .htk-c p.htk3-more a{font-weight:700}
body.htk--v3 .htk3-cta{background:var(--h-blue);background-image:radial-gradient(circle at 10% 90%,rgba(46,217,195,.22),rgba(46,217,195,0) 50%);color:#fff;border-radius:22px;padding:38px 40px;margin:0 0 40px}
body.htk--v3 .htk-c .htk3-cta p.htk3-cta__h{color:#fff;font-size:clamp(24px,2.6vw,34px);line-height:1.15;font-weight:800;margin:0 0 10px}
body.htk--v3 .htk-c .htk3-cta>p{color:#fff;opacity:.95;font-size:17px;line-height:1.55;margin:0 0 20px;max-width:820px}
body.htk--v3 .htk-c .htk3-cta>p.htk3-es{font-size:16px;margin:16px 0 0}
/* builder pages: the closing band and the hero match */
body.htk--v3 .htk-closing{background-color:var(--h-blue)!important;background-image:radial-gradient(circle at 10% 90%,rgba(46,217,195,.22),rgba(46,217,195,0) 50%)!important;border-radius:22px}
@media (max-width:959px){
	body.htk--v3 .htk3-hero{grid-template-columns:minmax(0,1fr);padding:32px 24px;gap:26px}
	body.htk--v3 .htk3-area{grid-template-columns:minmax(0,1fr)}
	body.htk--v3 .htk-closing{border-radius:0}
}
@media (max-width:639px){
	body.htk--v3 .htk3-band{padding:14px 12px 2px}
	body.htk--v3.htk--post .htk3-band,body.htk--v3.htk--plain .htk3-band{padding:0}
	body.htk--v3 .htk3-hero{padding:26px 18px;border-radius:18px}
	body.htk--v3 .htk-c h1.htk3-h1{font-size:30px}
	body.htk--v3 .htk-c .htk3-lead p{font-size:17px}
	body.htk--v3 .htk3-ctas .htk3-btn{width:100%}
	body.htk--v3 .htk-c ul.htk3-trust li{white-space:normal}
	body.htk--v3 .htk3-card{padding:18px 16px}
	body.htk--v3 .htk3-facts>div{grid-template-columns:104px minmax(0,1fr)}
	body.htk--v3 .htk3-cta{padding:28px 18px;border-radius:18px}
}
/* auto-linked terms inside the hero (license numbers, Manual J): white on blue, not the article's teal */
body.htk--v3 .htk-c .htk3-hero__main a:not(.htk3-btn),body.htk--v3 .htk-c .htk3-cta a:not(.htk3-btn){color:#fff!important;text-decoration:underline!important;text-decoration-color:rgba(255,255,255,.55)!important}
/* a long builder subtitle opens the article (under the byline) instead of crowding the hero */
body.htk--v3 .htk-c .htk3-intro-p p{font-size:18px;line-height:1.65;color:var(--h-ink);margin:8px 0 22px}
/* a term auto-linked inside the H1 reads as plain heading text (as it did in the v2 hero) */
body.htk--v3 .htk-c .htk3-hero .htk3-hero__main h1.htk3-h1 a:not(.htk3-btn){color:inherit!important;text-decoration:none!important}
/* HT_PAGE_KIT_CITY_HERO_V1 (2026-10-05): the city service pages' subtitle H2, kept inside the hero under the H1 */
body.htk--v3 .htk-c h2.htk3-sub{color:#fff;font-size:clamp(20px,2.1vw,27px);line-height:1.25;font-weight:700;margin:-4px 0 14px;letter-spacing:-.01em;padding:0;border:0;text-transform:none}
body.htk--v3 .htk-c h2.htk3-sub span{color:var(--h-teal)!important}
@media (max-width:639px){body.htk--v3 .htk-c h2.htk3-sub{font-size:20px;margin-top:-6px}}
/* The city template pulls its first section 180px up over its photo hero (#page\#4); with the kit hero it sits below it */
body.htk--cityhero #page\#4{margin-top:0!important;background:none!important}
body.htk--v3 .htk3-tailbox{max-width:1160px;margin:0 auto;padding:4px 15px 28px;box-sizing:content-box}
@media (min-width:640px){body.htk--v3 .htk3-tailbox{padding:6px 30px 36px}}
@media (min-width:960px){body.htk--v3 .htk3-tailbox{padding:8px 40px 44px}}
/* HT_PAGE_KIT_CITY_FULLWIDTH_V1 (2026-10-06): city service pages keep the full page width (no rail, no 880px sections).
   The card row's 115px top margin was for overlapping the old photo hero; photos stay a readable size; blocks other
   plugins print after the builder sections get the page width instead of running edge to edge. */
body.htk--cityhero #page\#4 .uk-width-1-1>.uk-margin:first-child{margin-top:0!important}
body.htk--cityhero .htk-photo{max-width:720px;margin-left:auto;margin-right:auto}
body.htk--cityhero .htk-c>.ht-recent-work,body.htk--cityhero .htk-c>.ht-reviews-mini,body.htk--cityhero .htk-c>.ht-author-byline,body.htk--cityhero .htk-c>.ht-cited-sources{width:calc(100% - 30px);max-width:1160px!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}
@media (min-width:640px){body.htk--cityhero .htk-c>.ht-recent-work,body.htk--cityhero .htk-c>.ht-reviews-mini,body.htk--cityhero .htk-c>.ht-author-byline,body.htk--cityhero .htk-c>.ht-cited-sources{width:calc(100% - 60px)}}
@media (min-width:960px){body.htk--cityhero .htk-c>.ht-recent-work,body.htk--cityhero .htk-c>.ht-reviews-mini,body.htk--cityhero .htk-c>.ht-author-byline,body.htk--cityhero .htk-c>.ht-cited-sources{width:calc(100% - 80px)}}
/* the mid card keeps its own dark text even when it lands inside a dark (uk-light) builder section; photo captions in a
   dark section stay readable */
body.htk .htk-mid .htk-mid__h{color:var(--k-navy)!important}
body.htk .htk-mid .htk-mid__p{color:#33415c!important}
body.htk .uk-light .htk-photo figcaption,body.htk .uk-section-secondary .htk-photo figcaption,body.htk .uk-section-primary .htk-photo figcaption{color:rgba(255,255,255,.85)}
/* city pages: links inside dark (uk-light / secondary / primary) builder sections keep the section's light text color
   (the kit's dark teal link color made FAQ titles and inline links unreadable on blue) */
body.htk--cityhero .htk-c .uk-light a:not(.htk-btn):not(.uk-button):not(.htk3-btn),body.htk--cityhero .htk-c .uk-section-secondary a:not(.htk-btn):not(.uk-button):not(.htk3-btn),body.htk--cityhero .htk-c .uk-section-primary a:not(.htk-btn):not(.uk-button):not(.htk3-btn){color:inherit}
body.htk--cityhero .htk-c .uk-light .uk-accordion-title,body.htk--cityhero .htk-c .uk-section-secondary .uk-accordion-title{color:#fff!important}
/* HT_PAGE_KIT_CITY4_V1 (2026-10-06). Hub-style city layout. Only the private preview opts in until the owner approves. */
body.htk--city4 .c4-in{max-width:1120px;margin:0 auto;padding:0 22px;box-sizing:border-box}
body.htk--city4 .c4-sec{padding:64px 0;background:#fff}
body.htk--city4 .c4-sec--alt{background:var(--k-soft)}
body.htk--city4 .c4-h2{font-size:clamp(26px,3vw,36px);line-height:1.15;letter-spacing:-.02em;color:var(--k-navy);margin:0 0 16px;max-width:22em}
body.htk--city4 .c4-h3{font-size:22px;line-height:1.3;color:var(--k-navy)!important;margin:22px 0 8px;position:static!important;opacity:1!important;transform:none!important;background:transparent!important;-webkit-text-fill-color:var(--k-navy)}
body.htk--city4 .c4-lead,body.htk--city4 .c4-prose p,body.htk--city4 .c4-sec li{font-size:17px;line-height:1.7;color:var(--k-text)}
body.htk--city4 .c4-block{margin-top:22px}
body.htk--city4 .c4-sec [id^="page#"]{margin-top:0!important}
body.htk--city4 .c4-sec .uk-section,body.htk--city4 .c4-sec .uk-container{max-width:none!important;padding-top:0!important;padding-bottom:0!important;margin-top:0!important}
body.htk--city4 .c4-trust{background:#fff;border-bottom:1px solid var(--k-line)}
body.htk--city4 .c4-trust__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:26px 0}
body.htk--city4 .c4-trust__i{background:var(--k-soft);border-radius:16px;padding:18px 18px 8px}
body.htk--city4 .c4-trust__h{margin:0 0 6px;font-weight:700;color:var(--k-navy);font-size:16px}
body.htk--city4 .c4-nav{background:#fff;border-bottom:1px solid var(--k-line)}
body.htk--city4 .c4-nav .c4-in{display:flex;align-items:center;gap:16px;padding-top:12px;padding-bottom:12px}
body.htk--city4 .c4-nav__t{flex:0 0 auto;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--k-muted)}
body.htk--city4 .c4-nav ul{display:flex;gap:8px;list-style:none;margin:0;padding:0;overflow-x:auto}
body.htk--city4 .c4-nav a{display:inline-block;padding:8px 12px;border-radius:999px;background:var(--k-soft);color:var(--k-navy);text-decoration:none;white-space:nowrap;font-size:14px;font-weight:700}
body.htk--city4 .c4-photos{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 22px}
body.htk--city4 .c4-photos img,body.htk--city4 .htk-photo img{width:100%;max-height:360px;object-fit:cover;border-radius:16px}
body.htk--city4 .c4-sec .uk-card,body.htk--city4 .c4-card{background:#fff;border-radius:16px;padding:18px 20px;box-shadow:var(--k-sh)}
body.htk--city4 .c4-sec [class*="uk-child-width-"]{display:flex;flex-wrap:wrap;align-items:stretch;gap:16px;margin-left:0!important}
body.htk--city4 .c4-sec [class*="uk-child-width-"]>*{box-sizing:border-box;padding-left:0!important;margin:0!important}
@media (min-width:960px){
body.htk--city4 .c4-sec [class*="uk-child-width-1-3"]>*{width:calc(33.333% - 11px)!important}
body.htk--city4 .c4-sec [class*="uk-child-width-1-2"]>*{width:calc(50% - 8px)!important}
}
@media (max-width:959px){
body.htk--city4 .c4-sec [class*="uk-child-width-"]>*{width:100%!important}
}
body.htk--city4 .c4-steps{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:12px}
body.htk--city4 .c4-step{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:start;background:#fff;border-radius:16px;padding:16px 18px;box-shadow:var(--k-sh)}
body.htk--city4 .c4-step__n{width:44px;height:44px;border-radius:50%;background:var(--k-navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
body.htk--city4 .c4-step__h{margin:8px 0 4px;font-size:18px}
body.htk--city4 .c4-area--2{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:24px;align-items:start;margin-top:18px}
body.htk--city4 .c4-area__map iframe{width:100%!important;min-height:320px;height:360px;border:0;border-radius:16px;display:block}
body.htk--city4 .c4-faq{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}
body.htk--city4 .c4-faq__side .htk-end,body.htk--city4 .c4-faq__side .htk-wrap{position:sticky;top:24px}
body.htk--city4 .c4-sec table{width:100%;border-collapse:collapse}
body.htk--city4 .c4-sec th,body.htk--city4 .c4-sec td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--k-line);vertical-align:top}
body.htk--city4 .c4-also{margin-top:16px;background:#fff;border-radius:16px;padding:12px 16px}
body.htk--city4 .c4-sec{overflow:visible}
@media (max-width:800px){
body.htk--city4 .c4-sec{padding:40px 0}
body.htk--city4 .c4-in{padding:0 16px}
body.htk--city4 .c4-trust__row,body.htk--city4 .c4-photos,body.htk--city4 .c4-area--2,body.htk--city4 .c4-faq{grid-template-columns:1fr}
body.htk--city4 .c4-nav .c4-in{display:block}
body.htk--city4 .c4-nav__t{display:block;margin-bottom:8px}
body.htk--city4 .c4-faq__side .htk-end,body.htk--city4 .c4-faq__side .htk-wrap{position:static}
}
