/* Three Satellites Trust brand layer. Tokens = DESIGN-SYSTEM.md. Loaded after Directorist/Elementor/glue CSS. No external assets. */
:root{
  --pt-ink:#13202B; --pt-steel:#1F3A4D; --pt-muted:#4F5F6B; --pt-line:#DCE3E8; --pt-mist:#EEF2F5; --pt-paper:#FBFAF7; --pt-sand:#F4EFE7; --pt-white:#fff;
  --pt-ember:#B23A0B; --pt-ember-hover:#8F2E08; --pt-ember-on-dark:#F6A26B; --pt-ember-tint:#FBEDE5;
  --pt-ok:#166534; --pt-ok-bg:#E3F4E8; --pt-warn:#8A4B0F; --pt-warn-bg:#FDF1DC;
  --pt-sans:"Public Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --pt-serif:"Source Serif 4",ui-serif,Georgia,"Times New Roman",serif;
  --pt-r-sm:6px; --pt-r:12px; --pt-r-lg:20px;
  --pt-shadow:0 1px 2px rgba(19,32,43,.06),0 6px 20px rgba(19,32,43,.06);
  --pt-shadow-lg:0 2px 4px rgba(19,32,43,.06),0 18px 48px rgba(19,32,43,.12);
  --pt-wide:1200px; --pt-gutter:clamp(1rem,4vw,2rem);
  /* Directorist re-skin */
  --directorist-color-primary:#13202B; --directorist-color-primary-rgb:19,32,43; --directorist-color-dark:#13202B; --directorist-color-dark-rgb:19,32,43;
  --directorist-color-body:#2B3A45; --directorist-color-light-gray:#4F5F6B; --directorist-color-deep-gray:#4F5F6B; --directorist-color-border:#DCE3E8; --directorist-color-border-light:#EEF2F5;
  --directorist-color-btn-primary-bg:#B23A0B; --directorist-color-btn:#B23A0B; --directorist-color-btn-border:#B23A0B; --directorist-color-btn-hover:#8F2E08;
  --directorist-color-success:#166534; --directorist-color-success-rgb:22,101,52; --directorist-color-secondary:#EEF2F5; --directorist-color-bg-gray:#EEF2F5; --directorist-color-bg-light-gray:#F4F6F8;
  --directorist-color-marker-shape:#13202B; --directorist-box-shadow:var(--pt-shadow); --directorist-box-shadow-sm:0 1px 2px rgba(19,32,43,.06);
  --directorist-border-radius-xs:6px; --directorist-border-radius-sm:8px; --directorist-border-radius-md:12px; --directorist-border-radius-lg:16px;
  --container-max-width:var(--pt-wide);
}
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body{font-family:var(--pt-sans);color:var(--pt-ink);background:var(--pt-paper);font-feature-settings:"kern","liga","tnum" 0;-webkit-font-smoothing:antialiased}
.wp-site-blocks{overflow-x:clip}
::selection{background:#F6D3BF;color:var(--pt-ink)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--pt-ember);outline-offset:2px;border-radius:4px}
p,li{max-width:72ch}
h1,h2,.wp-block-post-title{font-family:var(--pt-serif);font-optical-sizing:auto;text-wrap:balance}
h3,h4{text-wrap:balance}
.elementor-widget-text-editor a,.hood-compare a,.hood-crumbs a,.hood-tile a,.entry-content a{color:var(--pt-steel);text-decoration-thickness:1px;text-underline-offset:.18em}
.entry-content a:hover,.elementor-widget-text-editor a:hover{color:var(--pt-ember)}
.directorist-container-fluid,.directorist-w-100{font-family:var(--pt-sans)}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}

/* ---------- buttons ---------- */
.pt-btn,.directorist-btn.directorist-btn-primary,.directorist-btn-search,.hood-quote button,.hood-reviews button,.hood-news button,.elementor-button,.wp-element-button,.wp-block-button__link{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.75rem 1.25rem;border-radius:8px;border:2px solid transparent;
  font:650 1rem/1.2 var(--pt-sans);letter-spacing:.005em;text-decoration:none!important;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}
.pt-btn--primary,.directorist-btn.directorist-btn-primary,.directorist-btn-search,.hood-quote button,.hood-reviews button[type=submit],.hood-news button,.elementor-button,.wp-element-button{background:var(--pt-ember)!important;color:#fff!important;border-color:var(--pt-ember)!important}
.pt-btn--primary:hover,.directorist-btn.directorist-btn-primary:hover,.directorist-btn-search:hover,.hood-quote button:hover,.hood-news button:hover,.elementor-button:hover{background:var(--pt-ember-hover)!important;border-color:var(--pt-ember-hover)!important;color:#fff!important}
.pt-btn--secondary{background:#fff;color:var(--pt-ink)!important;border-color:var(--pt-ink)}
.pt-btn--secondary:hover{background:var(--pt-ink);color:#fff!important}
.pt-btn,.pt-btn--block{box-sizing:border-box}
.pt-btn--block{display:flex;width:100%}
.directorist-btn svg,.directorist-btn i{color:inherit;fill:currentColor}

/* ---------- header ---------- */
.wp-site-blocks>header.wp-block-template-part{position:sticky;top:0;z-index:50;background:rgba(251,250,247,.94);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--pt-line)}
.admin-bar .wp-site-blocks>header.wp-block-template-part{top:32px}
.pt-header{padding:0 var(--pt-gutter)!important}
.pt-header__bar{min-height:72px;gap:1.5rem;max-width:var(--pt-wide)!important;margin-inline:auto!important}
.pt-brand{display:inline-flex;align-items:center;gap:.6rem;color:var(--pt-ink)!important;text-decoration:none!important;white-space:nowrap}
.pt-brand .pt-mark{color:var(--pt-ink);flex:0 0 auto}
.pt-brand__word{font:700 1.25rem/1 var(--pt-sans);letter-spacing:-.02em}
.pt-brand__accent{color:var(--pt-ember)}
.pt-header__nav{gap:1.25rem!important;align-items:center!important}
.pt-header__bar{align-items:center!important}
.pt-header .wp-block-navigation__container{align-items:center}
.pt-header .wp-block-navigation{font:550 .9688rem/1 var(--pt-sans);gap:.25rem}
.pt-header .wp-block-navigation-item__content{color:var(--pt-ink)!important;text-decoration:none!important;padding:.6rem .7rem!important;border-radius:6px;min-height:44px}
.pt-header .wp-block-navigation-item__content:hover{background:var(--pt-mist)}
.pt-header__cta{min-height:44px;padding:.55rem 1rem}
@media (max-width:599px){.pt-header__cta{display:none}.pt-brand__word{font-size:1.0625rem}.pt-header__bar{min-height:64px}}
.wp-block-navigation__responsive-container-open,.wp-block-navigation__responsive-container-close{min-width:44px;min-height:44px;justify-content:center}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font:600 1.375rem/1.2 var(--pt-sans);padding:.6rem 0!important}

/* ---------- page shells ---------- */
main.wp-block-group{margin-top:0!important}
.entry-content>.elementor{max-width:none!important;margin-inline:0!important}
body:has(.elementor) .wp-block-post-content.has-global-padding,body:has(.elementor) main>.wp-block-group.has-global-padding{padding-left:0!important;padding-right:0!important}
body:has(.elementor) main.has-global-padding{padding-left:0!important;padding-right:0!important}
body:has(.elementor) main .alignfull{margin-left:0!important;margin-right:0!important}
body:has(.elementor) main>.wp-block-group:first-child{padding-top:0!important;padding-bottom:0!important}
.wp-site-blocks>main{margin-block-start:0!important}
.elementor .e-con{--container-max-width:var(--pt-wide);--padding-left:var(--pt-gutter);--padding-right:var(--pt-gutter);--padding-top:clamp(2.5rem,2rem + 2.5vw,4.5rem);--padding-bottom:0;--gap:1rem}
.elementor .e-con>.e-con-inner{gap:1rem}
.elementor h2,.elementor .elementor-heading-title{font:600 var(--wp--preset--font-size--x-large,2rem)/1.15 var(--pt-serif);letter-spacing:-.015em;color:var(--pt-ink);margin:0 0 .25rem}
.elementor-widget-text-editor{color:#2B3A45;font-size:1.0625rem;line-height:1.65}

/* ---------- eyebrow / badges / chips ---------- */
.pt-eyebrow{font:700 .78rem/1.2 var(--pt-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--pt-ember);margin:0 0 .6rem}
.pt-badge,.hood-badge,.hood-badge-claimed,.hood-badge-unclaimed{display:inline-flex;align-items:center;gap:.4rem;width:fit-content;border-radius:999px;padding:.3rem .7rem;font:650 .8125rem/1.2 var(--pt-sans);border:1px solid transparent;margin:0 .35rem .4rem 0}
.pt-badge--official,.hood-badge-earned,.hood-badge-claimed{background:var(--pt-ok-bg);color:var(--pt-ok);border-color:#B7DEC4}
.pt-badge--official .pt-mark{color:var(--pt-ok)}
.pt-badge--official .pt-mark rect:last-child{display:none}
.pt-badge--scope{background:var(--pt-mist);color:var(--pt-steel);border-color:var(--pt-line)}
.pt-badge--caution,.hood-badge-unclaimed,.hood-badge-paid{background:var(--pt-warn-bg);color:var(--pt-warn);border-color:#EED3A6}
.hood-badge-paid::before{content:"Paid · "}

/* ---------- Short answer (TL;DR) + verified stamp ---------- */
.hood-tldr{position:relative;background:#fff;border:1px solid var(--pt-line);border-left:0;border-radius:var(--pt-r);padding:1.25rem 1.4rem 1.25rem 1.6rem;margin:1.25rem 0;box-shadow:var(--pt-shadow);font-size:1.0625rem;line-height:1.65;color:#2B3A45}
.hood-tldr::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:0 4px 4px 0;background:var(--pt-ember)}
.hood-tldr strong:first-child{display:block;font:700 .78rem/1.2 var(--pt-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--pt-ember);margin-bottom:.45rem}
.hood-verified{display:inline-flex;align-items:center;gap:.35rem;margin-top:.5rem;font-weight:600;color:var(--pt-ok);white-space:nowrap}
.hood-verified::before{content:"";width:1rem;height:1rem;border-radius:50%;background:var(--pt-ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.3l2.3 2.3 4.7-4.8' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}

/* ---------- HOME: hero ---------- */
.pt-hero{background:var(--pt-ink);color:#E8EDF1;position:relative;isolation:isolate;--padding-top:clamp(3.5rem,2rem + 6vw,7rem)!important;--padding-bottom:clamp(6rem,4rem + 6vw,9rem)!important;overflow:hidden}
.pt-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(60rem 30rem at 85% -10%,rgba(178,58,11,.35),transparent 60%),
  linear-gradient(transparent 0 calc(100% - 1px),rgba(255,255,255,.05) 0) 0 0/100% 48px,
  linear-gradient(90deg,transparent 0 calc(100% - 1px),rgba(255,255,255,.05) 0) 0 0/48px 100%}
.pt-hero .e-con-inner{max-width:var(--pt-wide)}
.pt-hero h1{font:600 clamp(2.125rem,1.3rem + 3.2vw,3.625rem)/1.05 var(--pt-serif);letter-spacing:-.025em;color:#fff;max-width:21ch;margin:0}
.pt-hero h1 .pt-num{color:var(--pt-ember-on-dark)}
.pt-hero .pt-eyebrow{color:var(--pt-ember-on-dark)}
.pt-hero .hood-tldr{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#D9E1E7;box-shadow:none;max-width:62ch;backdrop-filter:blur(2px)}
.pt-hero .hood-tldr strong:first-child{color:var(--pt-ember-on-dark)}
.pt-hero .hood-tldr a{color:#fff}
.pt-hero .hood-verified{color:#9BE2B4}
.pt-hero .hood-verified::before{background-color:#2F8A52}
.pt-stats{display:flex;flex-wrap:wrap;gap:.75rem 2.25rem;margin:1.6rem 0 .25rem;padding:0;list-style:none}
.pt-stats li{display:flex;flex-direction:column;gap:.2rem;max-width:none}
.pt-stats b{font:600 2.5rem/1 var(--pt-serif);color:#fff;letter-spacing:-.02em}
.pt-stats span{font:500 .9375rem/1.35 var(--pt-sans);color:#C3CFD8;max-width:22ch}
.pt-hero-ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.4rem}
.pt-hero .pt-btn--secondary{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.55)}
.pt-hero .pt-btn--secondary:hover{background:#fff;color:var(--pt-ink)!important}

/* HOME: search card overlapping the hero */
.pt-search{--padding-top:0!important;margin-top:clamp(-5rem,-3rem - 3vw,-3rem);position:relative;z-index:2}
.pt-search>.e-con-inner{background:#fff;border:1px solid var(--pt-line);border-radius:var(--pt-r-lg);box-shadow:var(--pt-shadow-lg);padding:clamp(1.25rem,1rem + 1.5vw,2rem)!important}
.pt-search h2{font-size:1.5rem!important}
.directorist-search-form__box{border:1px solid var(--pt-line)!important;border-radius:14px!important;box-shadow:none!important;background:var(--pt-paper)!important;padding:.5rem!important}
.directorist-search-contents{padding:0!important;margin:0!important}
.directorist-search-form-wrap{padding:0!important}
.directorist-search-field__input,.directorist-form-element,.directorist-search-field .select2-selection{font:500 1rem/1.4 var(--pt-sans)!important;color:var(--pt-ink)!important}
.directorist-search-field__label,.directorist-search-field label{color:var(--pt-muted)!important;font-weight:600}
.directorist-listing-category-top,.directorist-search-contents .directorist-listing-category-top ul{margin-top:.6rem}
.directorist-listing-category-top a{border:1px solid var(--pt-line)!important;border-radius:999px!important;padding:.35rem .8rem!important;background:#fff!important;color:var(--pt-steel)!important;font-weight:600}

/* HOME: city tiles -> city cards */
.hood-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:.5rem 0 0}
.hood-tile{position:relative;background:#fff;border:1px solid var(--pt-line);border-radius:var(--pt-r);padding:1.4rem 1.4rem 1.25rem;box-shadow:var(--pt-shadow);transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;flex-direction:column;gap:.35rem;min-height:9.5rem}
.hood-tile:hover{transform:translateY(-2px);box-shadow:var(--pt-shadow-lg);border-color:#C5D0D8}
.hood-tile:focus-within{border-color:var(--pt-ember)}
.hood-tile h3{font:650 1.1875rem/1.25 var(--pt-sans)!important;margin:0!important;padding-right:1.6rem}
.hood-tile h3 a{color:var(--pt-ink)!important;text-decoration:none!important}
.hood-tile h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.hood-tile::after{content:"→";position:absolute;right:1.2rem;top:1.25rem;color:var(--pt-ember);font:600 1.25rem/1 var(--pt-sans);transition:transform .18s}
.hood-tile:hover::after{transform:translateX(3px)}
.hood-tile p{margin:0;color:var(--pt-muted);font-size:.9688rem;line-height:1.5}
.hood-tile p .hood-num,.hood-tile p>strong{color:var(--pt-ink)}
.pt-cities .hood-tile:first-child,.pt-cities .hood-tile:nth-child(2){background:linear-gradient(180deg,#fff, #fff 60%,var(--pt-sand))}

/* HOME: guides as editorial rows */
.pt-guides ul{list-style:none;padding:0;margin:0;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.pt-guides li{background:var(--pt-sand);border-radius:var(--pt-r);padding:1.25rem 1.4rem;max-width:none;color:var(--pt-muted)}
.pt-guides li a{display:block;font:600 1.25rem/1.3 var(--pt-serif);color:var(--pt-ink)!important;text-decoration:none!important;margin-bottom:.35rem}
.pt-guides li a:hover{color:var(--pt-ember)!important}

/* HOME: rules (how often) as two fact cards */
.pt-rules .elementor-widget-text-editor{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}
.pt-rules .elementor-widget-text-editor p{margin:0;background:#fff;border:1px solid var(--pt-line);border-radius:var(--pt-r);padding:1.25rem 1.4rem;max-width:none}
.pt-rules .elementor-widget-text-editor p strong{display:block;font:600 1.25rem/1.3 var(--pt-serif);margin-bottom:.4rem;color:var(--pt-ink)}
.pt-rules .elementor-widget-text-editor p:last-child{background:transparent;border:0;padding:.25rem 0;grid-column:1/-1}

/* HOME: method band */
.pt-method{background:var(--pt-sand);margin-top:clamp(3rem,2rem + 3vw,5rem);--padding-bottom:clamp(2.5rem,2rem + 2.5vw,4.5rem)!important}
.pt-method ul{list-style:none;padding:0;margin:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.pt-method li{position:relative;background:#fff;border-radius:var(--pt-r);padding:1.25rem 1.25rem 1.25rem 3.4rem;max-width:none;border:1px solid #E7DECF}
.pt-method li::before{content:"";position:absolute;left:1.1rem;top:1.3rem;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--pt-ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.3l2.3 2.3 4.7-4.8' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}

/* ---------- listing cards (grid + list views) ---------- */
article.directorist-listing-single{background:#fff!important;border:1px solid var(--pt-line)!important;border-radius:var(--pt-r)!important;box-shadow:var(--pt-shadow)!important;transition:transform .18s,box-shadow .18s,border-color .18s;position:relative;overflow:hidden}
article.directorist-listing-single:hover{transform:translateY(-2px);box-shadow:var(--pt-shadow-lg)!important;border-color:#C5D0D8!important}
article.directorist-listing-single::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--pt-ember),#D9692F)}
.directorist-listing-title,.directorist-listing-single .directorist-listing-title{font:650 1.125rem/1.3 var(--pt-sans)!important;letter-spacing:-.01em}
.directorist-listing-title a{color:var(--pt-ink)!important;text-decoration:none!important}
.directorist-listing-title a:hover{color:var(--pt-ember)!important}
.directorist-listing-single__info__list li,.directorist-listing-single__info__list a{color:#3B4A55!important;font-size:.9375rem}
.directorist-listing-single__meta{border-top:1px solid var(--pt-mist)!important;background:#FCFCFB}
.directorist-listing-category a{border-radius:999px;background:var(--pt-mist);color:var(--pt-steel)!important;padding:.25rem .65rem;font-weight:600;font-size:.8125rem}
.directorist-listing-category a .directorist-icon-mask,.directorist-listing-category .directorist-icon-mask{display:none}
.directorist-archive-items .directorist-row{row-gap:1rem}
.directorist-mark-as-favorite__btn{opacity:.55}

/* ---------- Directorist taxonomy tiles (categories / locations) as chips ---------- */
.directorist-categories__single,.directorist-location__single{background:#fff!important;border:1px solid var(--pt-line)!important;border-radius:var(--pt-r)!important;box-shadow:none!important;min-height:0!important;padding:1rem 1.2rem!important;text-align:left!important}
.directorist-location__single{background-image:none!important}
.directorist-location__single::before,.directorist-location__single::after{display:none!important}
.directorist-location__content{position:static!important;padding:0!important;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.directorist-location__content h3,.directorist-location__content h3 a{font:650 1.0625rem/1.3 var(--pt-sans)!important;color:var(--pt-ink)!important;margin:0!important;text-decoration:none!important}
.directorist-location__count{background:var(--pt-mist)!important;color:var(--pt-steel)!important;border-radius:999px;padding:.2rem .6rem;font-weight:700}
.directorist-categories__single__content{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%}
.directorist-categories__single__name{font:650 1.0625rem/1.3 var(--pt-sans)!important;color:var(--pt-ink)!important}
.directorist-categories__single .directorist-icon-mask{display:none}

/* ---------- city / service hub pages ---------- */
.pt-hub .wp-block-post-title,.pt-guide .wp-block-post-title,.pt-legal .wp-block-post-title{max-width:20ch}
.pt-hub main>.wp-block-group:first-child,.pt-guide main>.wp-block-group:first-child{padding-top:0!important}
.pt-hub .wp-block-post-title{position:relative;color:#fff;background:var(--pt-ink);box-shadow:0 0 0 100vmax var(--pt-ink);clip-path:inset(0 -100vmax);padding:clamp(3rem,2rem + 4vw,5.5rem) 0 clamp(2.25rem,1.5rem + 2vw,3.25rem);margin:0 auto 0!important;font:600 clamp(2.125rem,1.4rem + 3vw,3.5rem)/1.06 var(--pt-serif);letter-spacing:-.025em}
.pt-hub .wp-block-post-title::before{content:"Official-list directory";display:block;font:700 .78rem/1.2 var(--pt-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--pt-ember-on-dark);margin-bottom:.9rem}
.hood-crumbs{font:500 .875rem/1.4 var(--pt-sans);color:var(--pt-muted);margin:1.25rem 0 0}
.hood-crumbs a{color:var(--pt-muted)!important}
.pt-hub .hood-tldr{margin-top:1rem}
.pt-hub .entry-content>h2,.pt-guide .entry-content>h2,.pt-legal .entry-content>h2{margin-top:clamp(2.5rem,2rem + 2vw,3.5rem)}
.hood-rules{background:#fff;border:1px solid var(--pt-line);border-radius:var(--pt-r);padding:1.25rem 1.5rem;box-shadow:var(--pt-shadow)}
.hood-table-wrap{border:1px solid var(--pt-line);border-radius:var(--pt-r);background:#fff;box-shadow:var(--pt-shadow)}
table.hood-compare{font-size:.9375rem}
table.hood-compare th,table.hood-compare td{border:0;border-bottom:1px solid var(--pt-mist);padding:.75rem .9rem}
table.hood-compare thead th{background:var(--pt-ink);color:#fff;font-weight:650;font-size:.8125rem;letter-spacing:.04em;text-transform:uppercase}
table.hood-compare tbody tr:nth-child(even){background:#FAFBFC}
.hood-faq h3{font:650 1.125rem/1.35 var(--pt-sans);margin:1.5rem 0 .35rem}
.pt-hub .directorist-archive-contents__top{margin-bottom:1rem}

/* ---------- single listing ---------- */
.directorist-single-contents-area{padding-top:clamp(1.5rem,1rem + 2vw,3rem);padding-bottom:3rem}
.directorist-single-contents-area>.directorist-container-fluid{max-width:var(--pt-wide);margin-inline:auto}
.directorist-single-listing-header{margin-bottom:1.25rem}
.directorist-listing-details__listing-title{font:600 clamp(2rem,1.4rem + 2.4vw,3rem)/1.08 var(--pt-serif)!important;letter-spacing:-.025em;color:var(--pt-ink)!important;margin:.75rem 0 .5rem!important;max-width:22ch}
.directorist-listing-details__tagline,.directorist-single-listing-header .directorist-listing-tagline{font:500 1.125rem/1.45 var(--pt-sans)!important;color:var(--pt-muted)!important}
.directorist-single-listing-action,.directorist-single-listing-quick-action .directorist-btn{background:#fff!important;border:1px solid var(--pt-line)!important;border-radius:8px!important;color:var(--pt-ink)!important;min-height:40px}
.directorist-single-wrapper .directorist-card{background:#fff!important;border:1px solid var(--pt-line)!important;border-radius:var(--pt-r)!important;box-shadow:var(--pt-shadow)!important;margin-bottom:1rem!important}
.directorist-single-wrapper .directorist-card__header{border-bottom:1px solid var(--pt-mist)!important;padding:1rem 1.4rem!important}
.directorist-single-wrapper .directorist-card__header__title,.directorist-single-wrapper .directorist-card__header h2,.directorist-single-wrapper .directorist-card__header h4{font:600 1.375rem/1.25 var(--pt-serif)!important;color:var(--pt-ink)!important;display:flex;align-items:center;gap:.6rem}
.directorist-single-wrapper .directorist-card__header .directorist-icon-mask,.directorist-card__header__title>span:first-child{background:var(--pt-ember-tint)!important;border-radius:8px!important}
.directorist-single-wrapper .directorist-card__header .directorist-icon-mask::after{background-color:var(--pt-ember)!important}
.directorist-single-wrapper .directorist-card__body{padding:1.1rem 1.4rem 1.25rem!important;font-size:1rem;line-height:1.65;color:#2B3A45}
.directorist-single-info{padding:.55rem 0!important;border-bottom:1px solid var(--pt-mist);gap:.75rem;align-items:flex-start!important}
.directorist-single-info:last-child{border-bottom:0}
.directorist-single-info__label{min-width:11rem;font-weight:650!important;color:var(--pt-ink)!important;font-size:.9375rem}
.directorist-single-info__label .directorist-single-info__label-icon{display:none!important}
.directorist-single-info__value{color:#2B3A45!important;font-size:.9688rem}
.directorist-single-info__value a{color:var(--pt-steel)!important;text-decoration:underline}
#hood-in-short .directorist-single-info__value{font-size:1.0625rem;line-height:1.65}
.directorist-single-map{border-radius:10px;overflow:hidden;border:1px solid var(--pt-line)}
@media (max-width:575px){.directorist-single-info{flex-direction:column;gap:.15rem}.directorist-single-info__label{min-width:0}}

/* listing sidebar: official record card */
.pt-record{position:sticky;top:96px}
.pt-record__card{background:#fff;border:1px solid var(--pt-line);border-radius:var(--pt-r-lg);box-shadow:var(--pt-shadow-lg);padding:1.5rem;overflow:hidden;position:relative}
.pt-record__card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--pt-ember)}
.pt-record__facts{margin:1rem 0;padding:0;display:grid;gap:0}
.pt-record__facts>div{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px dashed var(--pt-line)}
.pt-record__facts dt{color:var(--pt-muted);font-size:.9063rem}
.pt-record__facts dd{margin:0;font-weight:650;font-variant-numeric:tabular-nums;text-align:right}
.pt-record__note{background:var(--pt-warn-bg);color:var(--pt-warn);border-radius:8px;padding:.7rem .85rem;font-size:.875rem;line-height:1.45}
.pt-record__actions{display:grid;gap:.6rem;margin:1.1rem 0 .9rem}
.pt-link-out{justify-self:center;font-weight:600;color:var(--pt-steel)!important;min-height:44px;display:inline-flex;align-items:center}
.pt-record__src{font-size:.8438rem;color:var(--pt-muted);margin:0;text-align:center}
.pt-record__src a{color:var(--pt-muted)!important}
@media (max-width:991px){.pt-record{position:static;margin-top:1rem}}

/* claim box, disclaimer, expired notice */
.hood-claim{background:var(--pt-sand)!important;border:1px solid #E7DECF!important;border-radius:10px!important;padding:.85rem 1rem!important}
.hood-disclaimer{color:var(--pt-muted);font-size:.875rem;border-top:1px solid var(--pt-line)}
.hood-expired{background:var(--pt-warn-bg)!important;border-left:4px solid var(--pt-warn)!important;border-radius:8px}

/* ---------- forms: quote / reviews / newsletter ---------- */
.hood-quote,.hood-reviews,.hood-news,.hood-greviews{background:#fff!important;border:1px solid var(--pt-line)!important;border-radius:var(--pt-r-lg)!important;box-shadow:var(--pt-shadow)!important;padding:clamp(1.25rem,1rem + 1.5vw,2.25rem)!important;margin:2rem auto!important}
.hood-listing-extras{max-width:var(--pt-wide);margin-inline:auto;padding-inline:var(--pt-gutter)}
.hood-quote{border-top:4px solid var(--pt-ember)!important;max-width:760px}
.hood-quote h2,.hood-reviews h2,.hood-news h2,.hood-greviews h2{font:600 clamp(1.5rem,1.2rem + 1.2vw,2rem)/1.15 var(--pt-serif)!important;margin:0 0 .5rem!important}
.hood-quote form{display:grid;grid-template-columns:1fr 1fr;gap:.25rem 1.25rem}
.hood-quote form>*{grid-column:1/-1}
@media (min-width:640px){.hood-quote form>p:has(>label>input:not([type=checkbox])),.hood-quote form>p:has(>label>select),.hood-quote form>p:has(>label+input),.hood-quote form>p:has(>label+select){grid-column:auto}}
.hood-quote label,.hood-reviews label,.hood-news label{font:600 .9375rem/1.4 var(--pt-sans);color:var(--pt-ink)}
.hood-quote input:not([type=checkbox]):not([type=radio]),.hood-quote select,.hood-quote textarea,.hood-reviews input:not([type=checkbox]):not([type=radio]),.hood-reviews select,.hood-reviews textarea,.hood-news input[type=email]{
  display:block;width:100%!important;max-width:none!important;margin-top:.35rem;background:#fff;border:1.5px solid #B7C3CC;border-radius:8px;padding:.7rem .85rem;font:500 1rem/1.4 var(--pt-sans);color:var(--pt-ink);transition:border-color .15s,box-shadow .15s}
.hood-quote input:focus,.hood-quote select:focus,.hood-quote textarea:focus,.hood-reviews input:focus,.hood-reviews textarea:focus,.hood-news input:focus{border-color:var(--pt-steel);box-shadow:0 0 0 4px rgba(31,58,77,.12);outline:none}
.hood-quote input[type=checkbox],.hood-reviews input[type=checkbox],.hood-news input[type=checkbox]{accent-color:var(--pt-ember)}
.hood-quote label:has(input[type=checkbox]),.hood-news label:has(input[type=checkbox]){font-weight:500;color:#2B3A45;gap:.6rem!important}
.hood-privacy-note,.hood-review-note{color:var(--pt-muted)!important;font-size:.875rem!important}
.hood-quote button[type=submit]{min-width:12rem;font-size:1.0625rem}
.hood-news{background:var(--pt-ink)!important;color:#D9E1E7;border:0!important;max-width:var(--pt-wide)}
.hood-news h2{color:#fff}
.hood-news label{color:#E8EDF1}
.hood-news a{color:#fff!important}
.hood-news .hood-privacy-note{color:#B9C6D0!important}
.hood-news form{max-width:40rem}
.hood-form-notice{background:var(--pt-ok-bg)!important;border:1px solid #B7DEC4!important;border-radius:8px;color:var(--pt-ok)}
.hood-rating{border-radius:10px!important;border-color:var(--pt-line)!important}
.hood-review{border-top:1px solid var(--pt-mist)!important}
.hood-review .hood-stars,.hood-gr-stars{color:#B45309;letter-spacing:.08em}
.hood-gr-box{background:var(--pt-paper)!important;border-color:var(--pt-line)!important;border-radius:10px!important}

/* ---------- legal + guide reading pages ---------- */
.pt-legal main .wp-block-post-title,.pt-guide main .wp-block-post-title{font:600 clamp(2rem,1.4rem + 2.4vw,3rem)/1.08 var(--pt-serif);letter-spacing:-.025em;padding-top:clamp(2.5rem,2rem + 3vw,4.5rem);margin-bottom:.5rem!important}
.pt-legal .entry-content,.pt-guide .entry-content{font-size:1.0625rem;line-height:1.7;color:#2B3A45}
.pt-legal .entry-content h2{font-size:1.625rem}
.pt-legal .entry-content h3{font-size:1.1875rem}
.pt-legal .entry-content ul li{margin-bottom:.35rem}
body:not(.home) .elementor h1{font:600 clamp(2rem,1.4rem + 2.4vw,3rem)/1.08 var(--pt-serif);letter-spacing:-.025em;margin:0 0 .5rem}

/* ---------- footer ---------- */
.wp-site-blocks>footer.wp-block-template-part{background:var(--pt-ink);color:#B9C6D0;margin-top:clamp(3rem,2rem + 4vw,6rem)!important;padding:clamp(2.5rem,2rem + 3vw,4.5rem) var(--pt-gutter) 2rem}
.wp-site-blocks>footer.wp-block-template-part>*{max-width:var(--pt-wide);margin-inline:auto}
.pt-footer__brand{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.12)}
.pt-footer__brand .pt-brand{color:#fff!important}
.pt-footer__brand .pt-mark{color:#fff}
.pt-footer__brand .pt-brand__accent{color:var(--pt-ember-on-dark)}
.pt-footer__promise{margin:0;color:#D9E1E7;font:500 1rem/1.5 var(--pt-sans);max-width:48ch}
.wp-site-blocks>footer :is(.hood-footer,.dk-footer){padding:1.5rem 0 0!important;background:none!important;max-width:var(--pt-wide)!important}
.wp-site-blocks>footer :is(.hood-footer,.dk-footer)>*{max-width:var(--pt-wide)!important;margin-inline:0!important}
.wp-site-blocks>footer :is(.hood-footer,.dk-footer) p{color:#B9C6D0;font-size:.875rem!important;line-height:1.6;max-width:90ch}
.wp-site-blocks>footer :is(.hood-footer,.dk-footer) a{color:#fff!important;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:.2em}
.wp-site-blocks>footer :is(.hood-footer,.dk-footer) a:hover{text-decoration-color:var(--pt-ember-on-dark)}

/* ---------- motion ---------- */
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.hood-tile:hover,article.directorist-listing-single:hover{transform:none}}
@media print{.wp-site-blocks>header.wp-block-template-part,.pt-record__actions,.hood-quote,.hood-news{display:none}}

/* ---------- fixes round 2 ---------- */
.directorist-categories__single,.directorist-location__single{height:auto!important;min-height:0!important;display:flex!important;align-items:center;justify-content:space-between}
.directorist-location__single .directorist-location__content{width:100%;text-align:left}
.directorist-location--grid .directorist-row,.directorist-categories .directorist-row{row-gap:.75rem}
.pt-browse .elementor-widget-shortcode+.elementor-widget-shortcode{margin-top:.25rem}
.hood-news{width:min(100% - 2*var(--pt-gutter),var(--pt-wide));box-sizing:border-box;margin:clamp(3rem,2rem + 3vw,5rem) auto 0!important;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:1rem 3rem;align-items:start}
.hood-news h2{grid-column:1}
.hood-news form{grid-column:2;grid-row:1 / span 2;max-width:none}
.hood-news label:has(input[type=checkbox]){color:#E8EDF1!important}
@media (max-width:760px){.hood-news{grid-template-columns:1fr}.hood-news form{grid-column:1;grid-row:auto}}
main.wp-block-group{padding-bottom:0!important}
.wp-site-blocks>footer.wp-block-template-part{margin-top:clamp(3rem,2rem + 3vw,5rem)!important}
.directorist-single-wrapper .directorist-single-info{padding:.6rem 0!important;margin:0!important}
.directorist-single-wrapper .directorist-card__body>.directorist-details-info-wrap,.directorist-single-wrapper .directorist-card__body .directorist-single-info:empty{margin:0}
.directorist-single-listing-header .directorist-listing-single-quickinfo{border:0;box-shadow:none;background:none}
.directorist-single-listing-header .directorist-listing-category a,.directorist-single-listing-header [class*=category] a{background:var(--pt-mist);border-radius:999px;padding:.25rem .7rem;color:var(--pt-steel)!important;font-weight:600;font-size:.8125rem;text-decoration:none}

/* ---------- fixes round 3 ---------- */
.pt-header .wp-block-navigation{--navigation-layout-align:center;align-items:center}
.pt-header .wp-block-navigation .wp-block-navigation__responsive-container-content,.pt-header .wp-block-navigation ul{align-items:center!important}
.pt-header .wp-block-navigation .wp-block-navigation-item__content{display:inline-flex!important;align-items:center;min-height:44px;box-sizing:border-box}
.pt-rules .elementor-widget-text-editor,.pt-guides .elementor-widget-text-editor,.pt-method .elementor-widget-text-editor,.pt-cities .elementor-widget-text-editor{width:100%}
.directorist-single-info:has(>.directorist-single-info__value:empty):not(:has(.directorist-single-info__label)){display:none!important}
.pt-browse .directorist-categories .directorist-col-4{flex:0 0 auto;max-width:100%;width:auto}
.pt-browse .directorist-categories__single{gap:1.5rem}
.directorist-categories__single__total{display:flex;gap:.3rem;align-items:baseline;background:var(--pt-mist);border-radius:999px;padding:.2rem .65rem;font-weight:700;color:var(--pt-steel)}
.directorist-categories__single__total span{color:var(--pt-steel)!important;font-size:.8125rem}

/* ---------- fixes round 4 ---------- */
.pt-rules .elementor-widget-text-editor{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:700px){.pt-rules .elementor-widget-text-editor{grid-template-columns:1fr}}
.hood-tldr{border-left:0!important;background:#fff!important}
.pt-hero .hood-tldr{background:rgba(255,255,255,.06)!important}
.pt-hub .wp-block-post-title{max-width:var(--wp--style--global--content-size,720px)!important}
.pt-hub .directorist-archive-contents,.pt-hub .hood-quote{max-width:var(--wp--style--global--content-size,720px)!important;margin-left:auto!important;margin-right:auto!important}
.pt-hub .directorist-archive-contents .directorist-container-fluid{padding:0}
@media (max-width:600px){
 .pt-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
 .pt-stats b{font-size:1.75rem}
 .pt-stats span{font-size:.8125rem}
 .pt-hero-ctas .pt-btn{flex:1 1 100%}
}

/* ---------- fixes round 5 ---------- */
[id]{scroll-margin-top:96px}
@media (min-width:640px){
 .hood-quote form>p:has(>input:not([type=hidden]):not([type=checkbox]):not([type=radio])),.hood-quote form>p:has(>select){grid-column:auto}
 .hood-quote form>p:has(>select[name=company]),.hood-quote form>p:has(>textarea){grid-column:1/-1}
}
.hood-quote form>p{margin:0 0 .9rem}
.hood-quote form>p>br,.hood-reviews form>p>br{display:none}
.hood-quote form>p>label:not(:has(input)){display:block}
.pt-legal .wp-block-post-title,.pt-guide .wp-block-post-title{max-width:var(--wp--style--global--content-size,720px)!important}
.wp-site-blocks{min-height:100vh;display:flex;flex-direction:column}
.wp-site-blocks>main{flex:1 0 auto}

/* listing: sticky mobile action bar (desktop uses the record card) */
.pt-mobilebar{display:none}
@media (max-width:991px){
 .pt-mobilebar{display:flex;gap:.6rem;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:.7rem var(--pt-gutter) calc(.7rem + env(safe-area-inset-bottom));background:rgba(251,250,247,.97);border-top:1px solid var(--pt-line);box-shadow:0 -6px 20px rgba(19,32,43,.08)}
 .pt-mobilebar .pt-btn{flex:1 1 0;min-height:48px}
 .pt-mobilebar .pt-btn--secondary{flex:0 0 32%}
 body.single-at_biz_dir{padding-bottom:84px}
}
.directorist-single-listing-quick-action .directorist-icon-mask::after,.directorist-single-listing-action .directorist-icon-mask::after{background-color:var(--pt-ink)!important}

/* footer text/link colours for any footer part content (hood-footer, dk-footer, or the parent theme's) */
.wp-site-blocks>footer.wp-block-template-part p{color:#B9C6D0}
.wp-site-blocks>footer.wp-block-template-part a:not(.pt-brand){color:#fff!important;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:.2em}
.wp-site-blocks>footer.wp-block-template-part :is(.hood-footer,.dk-footer){padding:1.5rem 0 0!important}

/* ---------- licensed stock photos (assets/photos, see photos.json) ---------- */
.pt-photo{margin:clamp(1.5rem,1rem + 1.5vw,2.25rem) 0;padding:0}
.pt-photo img{display:block;width:100%;height:auto;aspect-ratio:16/7;object-fit:cover;border-radius:var(--pt-r);background:var(--pt-mist,#EEF2F5);box-shadow:var(--pt-shadow)}
.pt-photo--band img{aspect-ratio:2.2/1}
.pt-photo figcaption{margin-top:.55rem;font:400 .8125rem/1.45 var(--pt-sans);color:var(--pt-muted)}
.pt-photo figcaption a{color:var(--pt-muted)!important;text-decoration:underline;text-underline-offset:.18em}
.pt-photo--listing{margin:1.25rem 0 .5rem}
.pt-photo--listing img{aspect-ratio:16/5;box-shadow:none;border:1px solid var(--pt-line)}
.pt-photoband .elementor-widget-text-editor,.pt-photoband .elementor-widget-shortcode{width:100%}
.pt-photoband .pt-photo{margin:0}
@media (max-width:600px){.pt-photo img{aspect-ratio:16/8}.pt-photo--band img{aspect-ratio:16/9}}

/* ---------- motion (trimmed 2026-10-11, Andy approved). CSS only, no JS. ----------
   Rules: transform/opacity only (plus stroke-dashoffset on the SVG); never hide or fade the H1 (the LCP element);
   no layout changes, so CLS stays 0; every animation sits inside prefers-reduced-motion:no-preference; no scroll-jacking. */

/* A. hero art (approved 2026-10-10): the line-drawn canopy hood draws itself ONCE, then one faint smoke wisp rises from the pan.
   Desktop only (hidden under 900px as before); fully drawn and still under prefers-reduced-motion; no loops, no JS. */
.pt-hero .elementor-widget:has(.pt-hero__stage){position:static!important;margin:0!important;padding:0!important;height:0;min-height:0}
.pt-hero .elementor-widget:has(.pt-hero__stage) .elementor-shortcode{position:static}
.pt-hero__stage{position:absolute;z-index:-1;top:0;right:max(1.5rem,calc(50% - 640px));width:min(31vw,400px);aspect-ratio:260/320;pointer-events:none}
.pt-hero__art{display:block;width:100%;height:100%;fill:none;stroke:var(--pt-ember-on-dark);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;opacity:.62;overflow:visible}
.pt-hero__art .pt-a-dim{opacity:.55}
.pt-hero__art .pt-a-fill{fill:var(--pt-ember-on-dark);stroke:none}
.pt-hero__art .pt-wisp{stroke:#E8EDF1;stroke-width:1.6;opacity:.3}
@media (max-width:900px){.pt-hero__stage{display:none}}
@media (prefers-reduced-motion:no-preference) and (min-width:901px){
  .pt-hero__art [pathLength]{stroke-dasharray:1;stroke-dashoffset:1;animation:pt-draw var(--t,1.2s) cubic-bezier(.65,0,.35,1) var(--d,0s) forwards}
  .pt-hero__art .pt-a-fill{opacity:0;animation:pt-fade .6s ease-out var(--d,2s) forwards}
  .pt-hero__art .pt-wisp{opacity:0;animation:pt-draw 2.4s ease-out 3.2s forwards,pt-wisp 2.4s ease-out 3.2s forwards}
}
@keyframes pt-draw{to{stroke-dashoffset:0}}
@keyframes pt-fade{to{opacity:1}}
@keyframes pt-wisp{0%{opacity:0;translate:0 6px}40%{opacity:.5}100%{opacity:.3;translate:0 0}}

/* B. hero: everything is painted at first paint (no entrance fade, no H1 lift, no count-up; trimmed 2026-10-11). Static accent rule under the H1. */
.pt-hero h1::after{content:"";display:block;width:4.5rem;height:3px;border-radius:3px;margin-top:1.1rem;background:linear-gradient(90deg,var(--pt-ember-on-dark),rgba(246,162,107,.15))}
.pt-stats b{font-variant-numeric:lining-nums tabular-nums}
.pt-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* C. scroll reveal: 18px rise + fade, HOME city tiles and method steps only (listings and other pages stay static, as on every category leader). */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion:no-preference){
    body.home .hood-tile,body.home .pt-method li{animation:pt-rise linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
    body.home .hood-tile:nth-child(2),body.home .pt-method li:nth-child(2){animation-range:entry 6% entry 63%}
    body.home .hood-tile:nth-child(3),body.home .pt-method li:nth-child(3){animation-range:entry 12% entry 71%}
    body.home .hood-tile:nth-child(4),body.home .pt-method li:nth-child(4){animation-range:entry 18% entry 79%}
  }
}
@keyframes pt-rise{from{opacity:.001;translate:0 18px}to{opacity:1;translate:0 0}}

/* D. hover/focus feedback only (tile/card hover lift lives in the components section above; no tilt, sheen or shimmer) */
@media (prefers-reduced-motion:no-preference){
  .pt-btn,.hood-quote button{transition:background-color .2s,color .2s,border-color .2s,box-shadow .25s,translate .25s}
  .pt-btn:active,.hood-quote button:active{translate:0 1px}
  .hood-quote input,.hood-quote select,.hood-quote textarea{transition:border-color .2s,box-shadow .25s,background-color .2s}
  .hood-quote form>p label{transition:color .2s}
}
.hood-quote input:not([type=checkbox]):not([type=radio]):focus,.hood-quote select:focus,.hood-quote textarea:focus{border-color:var(--pt-ember)!important;box-shadow:0 0 0 4px rgba(178,58,11,.14)!important;background:#fff;outline:none}
.hood-quote form>p:focus-within>label,.hood-quote form>p:focus-within>label>span{color:var(--pt-ember)}
.hood-quote input:focus-visible,.hood-quote select:focus-visible,.hood-quote textarea:focus-visible{outline:2px solid var(--pt-ember);outline-offset:2px}
