/* =========================================================
   HUSHTAG MEDIA — global styles for Divi
   Layout: left-aligned editorial grid, gradient hero + bands from the Murmur deck,
   white and blush sections, one wine-black "engine" section per page.
   ========================================================= */
:root{
  --ht-red:#DF2E3A;      /* logo red */
  --ht-coral:#EA3E4A;    /* deck gradient start */
  --ht-ember:#ED6349;    /* deck gradient mid */
  --ht-rose:#EE8291;     /* deck gradient mid-2 */
  --ht-blush:#F0A0D5;    /* deck gradient end */
  --ht-ink:#24121B;      /* wine-black text + dark sections */
  --ht-ink-soft:#5E4952; /* secondary text */
  --ht-paper:#FFFFFF;
  --ht-tint:#FFF3F1;     /* blush section background */
  --ht-line:#F0D9D7;     /* hairlines on light */
  --ht-line-dark:rgba(255,255,255,.14);
  --ht-grad:linear-gradient(118deg,#EA3E4A 0%,#ED6349 36%,#EE8291 70%,#F0A0D5 100%);
  --ht-display:"Red Hat Display",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --ht-logo:"Poppins",ui-sans-serif,system-ui,sans-serif;
  --ht-body:"Manrope","Helvetica Neue",Arial,ui-sans-serif,system-ui,sans-serif;
  --ht-gutter:clamp(20px,5vw,56px);
  --ht-max:1200px;
  --ht-pad:clamp(72px,9vw,132px);
  --ht-header-h:76px;
}

/* ---------- Divi neutralisers (only where our code lives) ---------- */
.et_pb_section:has(.ht),.et_pb_fullwidth_section:has(.ht){padding:0!important;background:transparent!important}
.et_pb_row:has(.ht){width:100%!important;max-width:100%!important;padding:0!important;margin:0!important}
.et_pb_column:has(.ht),.et_pb_module:has(.ht),.et_pb_code:has(.ht),.et_pb_fullwidth_code:has(.ht){margin:0!important;padding:0!important}
.et_pb_code_inner:has(.ht){padding:0!important}
#main-content .container:has(.ht):before{display:none!important}
#main-content:has(.ht-page){padding-top:0!important;background:transparent}
#page-container:has(.ht-header){padding-top:0!important}

/* ---------- Base ---------- */
.ht,.ht *,.ht *::before,.ht *::after{box-sizing:border-box}
.ht{font-family:var(--ht-body);font-size:17px;line-height:1.62;color:var(--ht-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.ht :where(h1,h2,h3,h4,ul,ol,figure,blockquote,dl,dd){margin:0!important;padding:0!important}
.ht :where(p){margin:0!important;padding-bottom:0!important}
.ht :where(li){margin:0;padding:0}
.ht :where(ul,ol){list-style:none!important}
.ht :where(h1,h2,h3,h4){font-family:var(--ht-display);color:inherit;font-weight:800;line-height:1.08;letter-spacing:-.02em;text-wrap:balance}
.ht p{line-height:1.62}
.ht a{color:inherit;text-decoration:none}
.ht img{max-width:100%;height:auto;display:block}
.ht strong,.ht b{font-weight:600}
.ht :focus-visible{outline:3px solid var(--ht-ember);outline-offset:3px;border-radius:6px}
.ht-wrap{width:100%;max-width:calc(var(--ht-max) + var(--ht-gutter)*2);margin-inline:auto;padding-inline:var(--ht-gutter)}
.ht-section{padding-block:var(--ht-pad)}
.ht-section--tint{background:var(--ht-tint)}
.ht-section--ink{background:var(--ht-ink);color:#fff}
.ht-section--tight{padding-block:clamp(56px,6vw,88px)}
.ht-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* type scale */
.ht-h1{font-size:clamp(2.6rem,1.4rem + 5.2vw,5.6rem)}
.ht-h2{font-size:clamp(2rem,1.3rem + 2.6vw,3.35rem)}
.ht-h3{font-size:clamp(1.3rem,1.1rem + .6vw,1.6rem);letter-spacing:-.015em}
.ht-h4{font-size:1.125rem;letter-spacing:-.01em}
.ht-lead{font-size:clamp(1.12rem,1rem + .45vw,1.35rem);line-height:1.55;max-width:38em;font-weight:400}
.ht-muted{color:var(--ht-ink-soft)}
.ht-section--ink .ht-muted{color:rgba(255,255,255,.68)}
.ht-kicker{font-family:var(--ht-display);font-weight:500;font-size:.95rem;letter-spacing:.005em}
.ht-stack{display:grid;gap:20px}
.ht-stack--lg{gap:32px}
.ht-stack--sm{gap:12px}
.ht-prose{display:grid;gap:1.1em;max-width:36em}
.ht-head{display:grid;gap:18px;max-width:46rem;margin-bottom:clamp(40px,5vw,64px)}

/* ---------- Buttons ---------- */
.ht-btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ht-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:52px;padding:0 28px;border-radius:999px;font-family:var(--ht-display);font-weight:600;font-size:1rem;letter-spacing:-.005em;line-height:1;border:1.5px solid transparent;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;white-space:nowrap}
.ht .ht-btn{text-decoration:none}
.ht-btn:active{transform:translateY(1px)}
.ht-btn--ink{background:var(--ht-ink);color:#fff!important}
.ht-btn--ink:hover{background:var(--ht-red)}
.ht-btn--white{background:#fff;color:var(--ht-red)!important}
.ht-btn--white:hover{background:var(--ht-ink);color:#fff!important}
.ht-btn--ghost{border-color:currentColor;color:inherit}
.ht-btn--ghost:hover{background:rgba(255,255,255,.14)}
.ht-section .ht-btn--ghost:hover,.ht-section--tint .ht-btn--ghost:hover{background:rgba(36,18,27,.06)}
.ht-btn--sm{min-height:42px;padding:0 20px;font-size:.92rem}
.ht-link{font-family:var(--ht-display);font-weight:600;border-bottom:2px solid var(--ht-ember);padding-bottom:2px;transition:color .2s}
.ht-link:hover{color:var(--ht-red)}
.ht-section--ink .ht-link:hover{color:var(--ht-rose)}

/* ---------- Header (Theme Builder global header) ---------- */
.ht-header{position:fixed;inset:0 0 auto 0;z-index:9990;color:#fff;transition:background-color .25s ease,color .25s ease,box-shadow .25s ease}
.admin-bar .ht-header{top:32px}
@media (max-width:782px){.admin-bar .ht-header{top:46px}}
.ht-header__bar{display:flex;align-items:center;gap:28px;height:var(--ht-header-h)}
.ht-header.is-solid,.ht-header.is-open{background:rgba(255,255,255,.96);color:var(--ht-ink);box-shadow:0 1px 0 var(--ht-line);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px)}
.ht-brand{display:inline-flex;align-items:center;gap:10px;margin-right:auto;color:inherit}
.ht-brand__mark{width:30px;height:38px;flex:none;color:#fff;transition:color .25s}
.ht-header.is-solid .ht-brand__mark,.ht-header.is-open .ht-brand__mark{color:var(--ht-red)}
.ht-brand__word{display:grid;line-height:.95;font-family:var(--ht-logo);color:inherit}
.ht-brand__word b{font-weight:700;font-size:1.06rem;letter-spacing:.02em}
.ht-brand__word span{font-weight:300;font-size:.86rem;letter-spacing:.08em}
.ht-header.is-solid .ht-brand__word,.ht-header.is-open .ht-brand__word{color:var(--ht-red)}
.ht-nav{display:flex;gap:4px;align-items:center}
.ht-nav a{position:relative;padding:10px 12px;font-family:var(--ht-display);font-weight:500;font-size:.95rem;border-radius:999px;transition:background-color .2s}
.ht-nav a:hover{background:rgba(255,255,255,.16)}
.ht-header.is-solid .ht-nav a:hover{background:var(--ht-tint)}
.ht-nav a[aria-current="page"]::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;border-radius:2px;background:currentColor}
.ht-header .ht-btn--sm{background:#fff;color:var(--ht-red)!important}
.ht-header.is-solid .ht-btn--sm,.ht-header.is-open .ht-btn--sm{background:var(--ht-ink);color:#fff!important}
.ht-header .ht-btn--sm:hover{background:var(--ht-ink);color:#fff!important}
.ht-header.is-solid .ht-btn--sm:hover{background:var(--ht-red)}
.ht-burger{display:none;align-items:center;gap:10px;height:42px;padding:0 16px;border-radius:999px;border:1.5px solid currentColor;background:transparent;color:inherit;font:600 .92rem/1 var(--ht-display);cursor:pointer}
.ht-burger__icon{display:grid;gap:4px;width:16px}
.ht-burger__icon i{display:block;height:2px;border-radius:2px;background:currentColor;transition:transform .25s,opacity .25s}
.ht-header.is-open .ht-burger__icon i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.ht-header.is-open .ht-burger__icon i:nth-child(2){opacity:0}
.ht-header.is-open .ht-burger__icon i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.ht-mobile{border-top:1px solid var(--ht-line);background:#fff;color:var(--ht-ink);max-height:calc(100vh - var(--ht-header-h));overflow:auto}
.ht-mobile[hidden]{display:none!important}
.ht-mobile nav{display:grid;padding-block:12px 28px}
.ht-mobile nav a{display:block;padding:14px 0;border-bottom:1px solid var(--ht-line);font:600 1.25rem/1.2 var(--ht-display);letter-spacing:-.01em}
.ht-mobile nav a[aria-current="page"]{color:var(--ht-red)}
.ht-mobile .ht-btn{margin-top:22px;width:100%}
@media (max-width:1080px){
  .ht-nav,.ht-header__bar>.ht-btn--sm{display:none}
  .ht-burger{display:inline-flex}
}

/* ---------- Heroes ---------- */
.ht-hero{position:relative;overflow:hidden;background:var(--ht-grad);color:#fff;padding-top:calc(var(--ht-header-h) + clamp(48px,7vw,104px));padding-bottom:clamp(64px,8vw,120px)}
.ht-hero__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(32px,5vw,72px);align-items:center}
.ht-hero__copy{display:grid;gap:26px;min-width:0}
.ht-hero .ht-kicker{opacity:.92}
.ht-hero__title{display:grid;gap:.02em}
.ht-hero__title .ht-quiet{font-weight:300;opacity:.78;letter-spacing:-.025em}
.ht-hero__title .ht-loud{font-weight:900;letter-spacing:-.03em;font-size:1.12em}
.ht-hero__sub{font-size:clamp(1.1rem,1rem + .5vw,1.4rem);line-height:1.5;max-width:31em;font-weight:300}
.ht-hero__mark{position:relative;justify-self:center;width:min(100%,400px);aspect-ratio:2191/2647}
.ht-logo-crop{position:relative;z-index:2;width:100%;height:100%;overflow:hidden}
.ht-logo-crop img{width:186.95%!important;max-width:none!important;margin-left:-43.5%;margin-top:-33.09%}
.ht-ripple{position:absolute;z-index:1;left:50%;top:50%;width:99%;aspect-ratio:1;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);transform:translate(-50%,-50%) scale(1);opacity:0;animation:ht-ripple 6s cubic-bezier(.2,.6,.3,1) infinite}
.ht-ripple:nth-child(2){animation-delay:2s}
.ht-ripple:nth-child(3){animation-delay:4s}
@keyframes ht-ripple{0%{transform:translate(-50%,-50%) scale(1);opacity:.7}100%{transform:translate(-50%,-50%) scale(1.75);opacity:0}}
.ht-hero__foot{margin-top:clamp(48px,6vw,80px);padding-top:22px;border-top:1px solid rgba(255,255,255,.35);display:flex;flex-wrap:wrap;gap:10px 28px;font-family:var(--ht-display);font-weight:500;font-size:.95rem}
.ht-hero__foot span{opacity:.95}

/* inner page hero */
.ht-phero{position:relative;overflow:hidden;background:var(--ht-grad);color:#fff;padding-top:calc(var(--ht-header-h) + clamp(44px,6vw,88px));padding-bottom:clamp(52px,6vw,88px)}
.ht-phero__inner{display:grid;gap:22px;max-width:52rem;position:relative;z-index:1}
.ht-phero .ht-h1{font-size:clamp(2.4rem,1.4rem + 4vw,4.6rem);font-weight:900;letter-spacing:-.03em}
.ht-phero .ht-lead{max-width:34em}
.ht-phero__ring{position:absolute;z-index:0;right:calc(var(--ht-gutter) * -1 + 2vw);top:50%;width:clamp(260px,34vw,520px);aspect-ratio:1;transform:translateY(-46%);pointer-events:none}
.ht-phero__ring svg{width:100%;height:100%;display:block}

/* ---------- Home: problem switcher ---------- */
.ht-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,6vw,96px);align-items:start}
.ht-split>*{min-width:0}
.ht-tabs{display:inline-flex;padding:5px;border-radius:999px;background:var(--ht-tint);border:1px solid var(--ht-line);gap:4px;margin-bottom:22px}
.ht-tabs button{appearance:none;border:0;background:transparent;color:var(--ht-ink-soft);font:600 .95rem/1 var(--ht-display);padding:12px 20px;border-radius:999px;cursor:pointer;transition:background-color .2s,color .2s}
.ht-tabs button[aria-selected="true"]{background:var(--ht-ink);color:#fff}
.ht-board{border:1px solid var(--ht-line);border-radius:22px;background:#fff;overflow:hidden}
.ht-board__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 24px;border-bottom:1px solid var(--ht-line)}
.ht-board__row:last-child{border-bottom:0}
.ht-board__who{font-family:var(--ht-display);font-weight:600}
.ht-board__who small{display:block;font-family:var(--ht-body);font-weight:400;font-size:.88rem;color:var(--ht-ink-soft);margin-top:2px}
.ht-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font:600 .82rem/1 var(--ht-display);background:#EEF7F0;color:#21733B;white-space:nowrap}
.ht-chip--bad{background:#FDE7E8;color:#B3202C}
.ht-chip--good{background:var(--ht-ink);color:#fff}
.ht-board__row--total{background:var(--ht-tint)}
.ht-board__row--total .ht-board__who{font-size:1.1rem}
.ht-engine{padding:22px 24px;display:grid;gap:18px}
.ht-engine__flow{display:flex;flex-wrap:wrap;gap:8px}
.ht-engine__flow span{padding:9px 14px;border-radius:999px;background:var(--ht-tint);border:1px solid var(--ht-line);font:500 .9rem/1 var(--ht-display)}
.ht-engine__out{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 22px;border-radius:16px;background:var(--ht-grad);color:#fff}
.ht-engine__out strong{font-family:var(--ht-display);font-size:1.25rem;font-weight:700}
.ht-engine__out .ht-chip{background:#fff;color:var(--ht-red)}
.ht-engine__pipe{height:28px;display:grid;place-items:center}
.ht-engine__pipe svg{width:100%;height:28px}

/* ---------- Ink section: four pillars ---------- */
.ht-pillars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ht-line-dark)}
.ht-pillar{padding:32px 32px 36px 0;border-bottom:1px solid var(--ht-line-dark);display:grid;gap:10px;align-content:start}
.ht-pillar:nth-child(odd){border-right:1px solid var(--ht-line-dark)}
.ht-pillar:nth-child(even){padding-left:32px}
.ht-pillar h3{font-size:1.35rem}
.ht-pillar p{color:rgba(255,255,255,.72);max-width:28em}
.ht-ink-ring{display:inline-block;width:22px;height:22px;border-radius:50%;border:5px solid var(--ht-ember);border-left-color:rgba(255,255,255,.18)}

/* ---------- Services index ---------- */
.ht-svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ht-line)}
.ht-svc{display:grid;gap:8px;align-content:start;padding:28px 28px 32px 0;border-bottom:1px solid var(--ht-line);transition:background-color .2s}
.ht-svc:not(:nth-child(3n)){border-right:1px solid var(--ht-line)}
.ht-svc:not(:nth-child(3n+1)){padding-left:28px}
.ht-svc h3{font-size:1.2rem;display:flex;align-items:center;justify-content:space-between;gap:12px}
.ht-svc h3::after{content:"";flex:none;width:9px;height:9px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);opacity:0;transition:opacity .2s,transform .2s}
.ht-svc p{color:var(--ht-ink-soft);font-size:.98rem}
.ht-svc:hover h3{color:var(--ht-red)}
.ht-svc:hover h3::after{opacity:1;transform:translateX(3px) rotate(45deg)}
.ht-svc--featured h3{color:var(--ht-red)}

/* ---------- HUSH letters ---------- */
.ht-hush{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:2px solid var(--ht-ink)}
.ht-hush__step{display:grid;gap:10px;align-content:start;padding:24px 24px 8px 0}
.ht-hush__step+ .ht-hush__step{padding-left:24px;border-left:1px solid var(--ht-line)}
.ht-hush__letter{font-family:var(--ht-display);font-weight:900;font-size:clamp(4rem,3rem + 4vw,7.5rem);line-height:.85;letter-spacing:-.05em;background:var(--ht-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ht-hush__step:nth-child(2) .ht-hush__letter{background-position:33% 0;background-size:400% 100%}
.ht-hush__step:nth-child(1) .ht-hush__letter{background-size:400% 100%;background-position:0 0}
.ht-hush__step:nth-child(3) .ht-hush__letter{background-size:400% 100%;background-position:66% 0}
.ht-hush__step:nth-child(4) .ht-hush__letter{background-size:400% 100%;background-position:100% 0}
.ht-hush__step h3{font-size:1.3rem}
.ht-hush__step p{color:var(--ht-ink-soft);font-size:.98rem}
.ht-hush__n{font:500 .85rem/1 var(--ht-display);color:var(--ht-ink-soft)}

/* ---------- Markets ---------- */
.ht-markets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
.ht-market{display:grid;gap:12px;align-content:start;padding:26px;border-radius:20px;background:#fff;border:1px solid var(--ht-line)}
.ht-market__code{font-family:var(--ht-display);font-weight:900;font-size:2.4rem;letter-spacing:-.04em;line-height:1;color:var(--ht-red)}
.ht-market h3{font-size:1.15rem}
.ht-market p{color:var(--ht-ink-soft);font-size:.96rem}
.ht-market--route,.ht a.ht-market--route{background:var(--ht-ink);border-color:var(--ht-ink);color:#fff}
.ht-market--route p{color:rgba(255,255,255,.72)}
.ht-market--route .ht-market__code{color:var(--ht-rose)}

/* ---------- Engagement strip ---------- */
.ht-engage-strip{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:end}
.ht-models{display:grid;gap:0;border-top:1px solid var(--ht-line)}
.ht-models li{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--ht-line);font-family:var(--ht-display);font-weight:600}
.ht-models li span{font-family:var(--ht-body);font-weight:400;color:var(--ht-ink-soft);text-align:right}

/* ---------- FAQ ---------- */
.ht-faq{display:grid;border-top:1px solid var(--ht-line)}
.ht-faq details{border-bottom:1px solid var(--ht-line)}
.ht-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;font:600 clamp(1.05rem,1rem + .3vw,1.25rem)/1.35 var(--ht-display);letter-spacing:-.01em}
.ht-faq summary::-webkit-details-marker{display:none}
.ht-faq summary::after{content:"";flex:none;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--ht-line);background:linear-gradient(var(--ht-ink),var(--ht-ink)) center/11px 2px no-repeat,linear-gradient(var(--ht-ink),var(--ht-ink)) center/2px 11px no-repeat;transition:transform .25s,background-color .25s}
.ht-faq details[open] summary::after{transform:rotate(45deg);background-color:var(--ht-tint)}
.ht-faq summary:hover{color:var(--ht-red)}
.ht-faq__a{padding:0 0 26px;max-width:46em;color:var(--ht-ink-soft)}
.ht-faq-layout{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(32px,6vw,96px);align-items:start}
.ht-faq-layout>*{min-width:0}

/* ---------- CTA band ---------- */
.ht-cta{position:relative;overflow:hidden;background:var(--ht-grad);color:#fff;padding-block:clamp(72px,8vw,120px)}
.ht-cta__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:32px 64px;align-items:end}
.ht-cta__inner>div{display:grid;gap:18px;min-width:0}
.ht-cta .ht-h2{font-weight:900;letter-spacing:-.025em}
.ht-cta p{font-size:1.15rem;max-width:34em}
.ht-cta__ring{position:absolute;z-index:0;left:-6vw;bottom:-55%;width:clamp(320px,40vw,620px);aspect-ratio:1;opacity:.5;pointer-events:none}

/* ---------- Footer (Theme Builder global footer) ---------- */
.ht-footer{background:var(--ht-ink);color:#fff;padding-top:clamp(64px,7vw,104px)}
.ht-footer__top{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:40px}
.ht-footer__brand{display:grid;gap:20px;align-content:start}
.ht-footer__brand .ht-brand{color:#fff}
.ht-footer__brand .ht-brand__mark{color:var(--ht-ember)}
.ht-footer__tag{font-family:var(--ht-display);font-size:1.6rem;line-height:1.15;letter-spacing:-.02em}
.ht-footer__tag span{font-weight:300;opacity:.7}
.ht-footer__tag b{font-weight:700}
.ht-footer h4{font-size:.95rem;font-weight:600;color:rgba(255,255,255,.55);letter-spacing:0;margin-bottom:14px!important}
.ht-footer ul{display:grid;gap:9px}
.ht-footer ul a{color:rgba(255,255,255,.88);transition:color .2s}
.ht-footer ul a:hover{color:var(--ht-rose)}
.ht-footer__bottom{margin-top:clamp(48px,6vw,80px);padding-block:22px;border-top:1px solid var(--ht-line-dark);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:.9rem;color:rgba(255,255,255,.6)}

/* ---------- Services page ---------- */
.ht-svc-page{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}
.ht-toc{position:sticky;top:calc(var(--ht-header-h) + 28px);display:grid;gap:2px}
.admin-bar .ht-toc{top:calc(var(--ht-header-h) + 60px)}
.ht-toc p{font:600 .85rem/1 var(--ht-display);color:var(--ht-ink-soft);margin-bottom:12px!important}
.ht-toc a{display:block;padding:9px 0 9px 16px;border-left:2px solid var(--ht-line);font:500 .95rem/1.25 var(--ht-display);color:var(--ht-ink-soft);transition:color .2s,border-color .2s}
.ht-toc a:hover{color:var(--ht-ink)}
.ht-toc a.is-active{color:var(--ht-red);border-left-color:var(--ht-red)}
.ht-svc-list{display:grid}
.ht-svc-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 48px;padding-block:clamp(40px,5vw,64px);border-top:1px solid var(--ht-line);scroll-margin-top:calc(var(--ht-header-h) + 16px)}
.ht-svc-item:first-child{border-top:0;padding-top:0}
.ht-svc-item__intro{display:grid;gap:14px;align-content:start}
.ht-svc-item__name{font:600 .95rem/1 var(--ht-display);color:var(--ht-red)}
.ht-svc-item h2{font-size:clamp(1.6rem,1.2rem + 1.4vw,2.3rem);letter-spacing:-.025em}
.ht-svc-item__intro p{color:var(--ht-ink-soft)}
.ht-deliver{display:grid;gap:0;align-content:start;padding:22px 24px;border-radius:18px;background:var(--ht-tint)}
.ht-deliver h3{font-size:.95rem;font-weight:600;margin-bottom:6px!important}
.ht-deliver li{position:relative;padding:11px 0 11px 22px;border-bottom:1px solid var(--ht-line);font-size:.98rem}
.ht-deliver li:last-child{border-bottom:0}
.ht-deliver li::before{content:"";position:absolute;left:0;top:19px;width:9px;height:9px;border-radius:50%;border:2.5px solid var(--ht-ember);border-left-color:transparent}

/* ---------- Method page ---------- */
.ht-stage{display:grid;grid-template-columns:clamp(110px,14vw,200px) minmax(0,1fr) minmax(0,.9fr);gap:24px clamp(28px,4vw,64px);padding-block:clamp(40px,5vw,64px);border-top:1px solid var(--ht-line);align-items:start}
.ht-stage:first-child{border-top:2px solid var(--ht-ink)}
.ht-stage .ht-hush__letter{font-size:clamp(5rem,3.5rem + 5vw,9rem)}
.ht-stage__body{display:grid;gap:14px}
.ht-stage__body h2{font-size:clamp(1.7rem,1.3rem + 1.4vw,2.4rem)}
.ht-stage__body .ht-tagline{font:600 1.1rem/1.35 var(--ht-display);color:var(--ht-red)}
.ht-stage__body p{color:var(--ht-ink-soft)}
.ht-stage__side{display:grid;gap:16px}
.ht-get{padding:16px 18px;border-radius:14px;background:var(--ht-ink);color:#fff;font-size:.98rem}
.ht-get b{display:block;font-family:var(--ht-display);color:var(--ht-rose);font-size:.85rem;margin-bottom:4px}
.ht-loop{display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:center;max-width:52rem}
.ht-loop svg{width:clamp(96px,12vw,140px);height:auto}
.ht-gantt-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--ht-line);border-radius:20px;background:#fff}
.ht-gantt{min-width:780px}
.ht-gantt__row{display:grid;grid-template-columns:170px repeat(13,minmax(0,1fr));align-items:center;border-bottom:1px solid var(--ht-line);min-height:64px}
.ht-gantt__row:last-child{border-bottom:0}
.ht-gantt__row--head{min-height:48px;background:var(--ht-tint)}
.ht-gantt__row--head span{text-align:center;font:600 .8rem/1 var(--ht-display);color:var(--ht-ink-soft)}
.ht-gantt__row--head span:first-child{text-align:left;padding-left:20px}
.ht-gantt__label{grid-column:1;grid-row:1;padding:12px 20px;display:grid;gap:2px}
.ht-gantt__label b{font-family:var(--ht-display);font-weight:600}
.ht-gantt__label span{font-size:.8rem;color:var(--ht-ink-soft)}
.ht-gantt__bar{grid-row:1;height:38px;margin:0 3px;border-radius:999px;display:flex;align-items:center;padding:0 14px;color:#fff;font:600 .82rem/1 var(--ht-display);white-space:nowrap;overflow:hidden}
.ht-bar-1{background:#EA3E4A}.ht-bar-2{background:#ED6349}.ht-bar-3{background:#E77586}.ht-bar-4{background:#C2508F}.ht-bar-5{background:var(--ht-ink)}

/* ---------- Markets page ---------- */
.ht-region{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px clamp(32px,6vw,96px);padding-block:clamp(44px,5vw,72px);border-top:1px solid var(--ht-line);scroll-margin-top:calc(var(--ht-header-h) + 16px)}
.ht-region:first-child{border-top:0;padding-top:0}
.ht-region__name{display:grid;gap:10px;align-content:start}
.ht-region__code{font-family:var(--ht-display);font-weight:900;font-size:clamp(3.5rem,2.5rem + 4vw,6.5rem);line-height:.85;letter-spacing:-.05em;background:var(--ht-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ht-region__name h2{font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}
.ht-region__body{display:grid;gap:18px}
.ht-region__body .ht-tagline{font:600 1.25rem/1.3 var(--ht-display);letter-spacing:-.01em}
.ht-region__body p{color:var(--ht-ink-soft)}
.ht-ticks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ht-ticks li{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:var(--ht-tint);font-size:.96rem;line-height:1.4}
.ht-ticks li::before{content:"";flex:none;margin-top:4px;width:10px;height:10px;border-radius:50%;border:2.5px solid var(--ht-ember);border-left-color:transparent}
.ht-anchor-row{display:flex;flex-wrap:wrap;gap:10px}
.ht-anchor-row a{padding:10px 18px;border-radius:999px;border:1.5px solid rgba(255,255,255,.7);font:600 .92rem/1 var(--ht-display);transition:background-color .2s,color .2s}
.ht-anchor-row a:hover{background:#fff;color:var(--ht-red)}

/* ---------- Industries ---------- */
.ht-rows{display:grid;border-top:1px solid var(--ht-line)}
.ht-rows li{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) minmax(0,1fr);gap:12px 40px;padding:28px 0;border-bottom:1px solid var(--ht-line);align-items:start}
.ht-rows h3{font-size:1.3rem}
.ht-rows p{color:var(--ht-ink-soft)}
.ht-rows .ht-mix{display:flex;flex-wrap:wrap;gap:6px}
.ht-rows .ht-mix span{padding:6px 11px;border-radius:999px;border:1px solid var(--ht-line);font:500 .82rem/1 var(--ht-display);color:var(--ht-ink);background:#fff}
.ht-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
.ht-stagecard{display:grid;gap:12px;align-content:start;padding:28px;border-radius:20px;border:1px solid var(--ht-line-dark);background:rgba(255,255,255,.04)}
.ht-stagecard h3{font-size:1.25rem}
.ht-stagecard p{color:rgba(255,255,255,.72)}

/* ---------- Engage page ---------- */
.ht-models-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.6vw,20px);align-items:stretch}
.ht-model{position:relative;display:grid;grid-template-rows:auto auto 1fr auto;gap:14px;padding:28px 24px;border-radius:22px;border:1px solid var(--ht-line);background:#fff}
.ht-model h3{font-size:1.3rem}
.ht-model__how{color:var(--ht-ink-soft);font-size:.97rem}
.ht-model__best{padding-top:16px;border-top:1px solid var(--ht-line);font-size:.93rem}
.ht-model__best b{display:block;font-family:var(--ht-display);font-size:.82rem;color:var(--ht-ink-soft);margin-bottom:4px}
.ht-model--pick{background:var(--ht-ink);border-color:var(--ht-ink);color:#fff}
.ht-model--pick .ht-model__how{color:rgba(255,255,255,.72)}
.ht-model--pick .ht-model__best{border-top-color:var(--ht-line-dark)}
.ht-model--pick .ht-model__best b{color:var(--ht-rose)}
.ht-model__flag{justify-self:start;padding:6px 12px;border-radius:999px;background:var(--ht-grad);color:#fff;font:600 .78rem/1 var(--ht-display)}
.ht-model__flag--plain{background:var(--ht-tint);color:var(--ht-ink-soft)}
.ht-includes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:2px solid var(--ht-ink)}
.ht-includes li{padding:22px 22px 0 0;display:grid;gap:8px;font-family:var(--ht-display);font-weight:600;font-size:1.08rem;line-height:1.3}
.ht-includes li+li{padding-left:22px;border-left:1px solid var(--ht-line)}
.ht-includes li span{font-family:var(--ht-body);font-weight:400;font-size:.95rem;color:var(--ht-ink-soft)}
.ht-note{display:flex;gap:14px;align-items:flex-start;padding:20px 22px;border-radius:16px;background:var(--ht-tint);max-width:44rem}
.ht-note b{font-family:var(--ht-display)}

/* ---------- About page ---------- */
.ht-name{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.ht-name__half{display:grid;gap:14px}
.ht-name__word{font-family:var(--ht-display);font-size:clamp(3rem,2rem + 4vw,6rem);line-height:.9;letter-spacing:-.05em}
.ht-name__word--hush{font-weight:300;color:var(--ht-ink-soft)}
.ht-name__word--tag{font-weight:900;color:var(--ht-red)}
.ht-name__half p{color:var(--ht-ink-soft);max-width:22em}
.ht-name .ht-hero__mark{width:clamp(150px,18vw,230px)}
.ht-beliefs{display:grid;border-top:1px solid var(--ht-line-dark)}
.ht-beliefs li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:10px 48px;padding:26px 0;border-bottom:1px solid var(--ht-line-dark)}
.ht-beliefs h3{font-size:1.35rem}
.ht-beliefs p{color:rgba(255,255,255,.72)}

/* ---------- Contact ---------- */
.ht-contact{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,6vw,96px);align-items:start}
.ht-contact>*{min-width:0}
.ht-next{display:grid;gap:0;border-top:1px solid var(--ht-line);counter-reset:ht-next}
.ht-next li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;padding:20px 0;border-bottom:1px solid var(--ht-line);counter-increment:ht-next}
.ht-next li::before{content:counter(ht-next);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ht-tint);color:var(--ht-red);font:700 1rem/1 var(--ht-display)}
.ht-next b{display:block;font-family:var(--ht-display);font-size:1.05rem;margin-bottom:2px}
.ht-next span{color:var(--ht-ink-soft)}
.ht-mail{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;padding:20px 22px;border-radius:16px;background:var(--ht-ink);color:#fff}
.ht-mail span{color:rgba(255,255,255,.65);font-size:.92rem}
.ht-mail a{font:600 1.15rem/1.3 var(--ht-display);color:#fff;border-bottom:2px solid var(--ht-ember)}
.ht-formcard{padding:clamp(24px,3vw,40px);border-radius:24px;background:#fff;border:1px solid var(--ht-line);box-shadow:0 30px 60px -30px rgba(120,20,40,.22)}
.ht-formcard h2{font-size:1.6rem;margin-bottom:6px!important}
.ht-formcard>p{color:var(--ht-ink-soft);margin-bottom:22px!important}
.ht-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ht-field{display:grid;gap:7px;min-width:0}
.ht-field--full{grid-column:1/-1}
.ht-field label{font:600 .9rem/1.2 var(--ht-display)}
.ht-field input,.ht-field select,.ht-field textarea{width:100%;min-height:50px;padding:12px 14px;border:1.5px solid var(--ht-line);border-radius:12px;background:#fff;color:var(--ht-ink);font:400 1rem/1.4 var(--ht-body);transition:border-color .2s,box-shadow .2s;appearance:none;-webkit-appearance:none}
.ht-field select{background-image:linear-gradient(45deg,transparent 50%,var(--ht-ink) 50%),linear-gradient(135deg,var(--ht-ink) 50%,transparent 50%);background-position:calc(100% - 20px) 22px,calc(100% - 15px) 22px;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}
.ht-field textarea{min-height:120px;resize:vertical}
.ht-field input:focus,.ht-field select:focus,.ht-field textarea:focus{outline:none;border-color:var(--ht-ember);box-shadow:0 0 0 4px rgba(237,99,73,.16)}
.ht-form .ht-btn{grid-column:1/-1;justify-self:start}
.ht-form__msg{grid-column:1/-1;font-size:.95rem;color:var(--ht-ink-soft)}
.ht-form__msg.is-ok{color:#21733B;font-weight:600}
/* Divi contact form, restyled when it is moved into the card */
.ht-formcard .et_pb_contact_form_container{margin:0!important;padding:0!important;background:transparent!important}
.ht-formcard .et_pb_contact_main_title{display:none}
.ht-formcard .et_pb_contact p.et_pb_contact_field{padding:0 0 16px!important;margin:0!important}
.ht-formcard .et_pb_contact_form_label{display:block!important;position:static!important;margin-bottom:7px;font:600 .9rem/1.2 var(--ht-display);color:var(--ht-ink)}
.ht-formcard .et_pb_contact .input,.ht-formcard .et_pb_contact select.et_pb_contact_select{width:100%!important;min-height:50px;padding:12px 14px!important;border:1.5px solid var(--ht-line)!important;border-radius:12px!important;background:#fff!important;color:var(--ht-ink)!important;font:400 1rem/1.4 var(--ht-body)!important}
.ht-formcard .et_pb_contact .input:focus{border-color:var(--ht-ember)!important;box-shadow:0 0 0 4px rgba(237,99,73,.16)}
.ht-formcard .et_pb_contact_submit{min-height:52px;padding:0 28px!important;border-radius:999px!important;border:0!important;background:var(--ht-ink)!important;color:#fff!important;font:600 1rem/1 var(--ht-display)!important;letter-spacing:0!important}
.ht-formcard .et_pb_contact_submit:hover{background:var(--ht-red)!important}
.ht-formcard .et_pb_contact_submit:after{display:none!important}
.ht-formcard .et-pb-contact-message{font:600 1rem/1.5 var(--ht-body);color:#21733B}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .ht-svc-page{grid-template-columns:minmax(0,1fr)}
  .ht-toc{display:none}
  .ht-markets,.ht-models-grid,.ht-includes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ht-includes li{padding:22px 22px 22px 0}
  .ht-includes li:nth-child(odd){padding-left:0;border-left:0}
  .ht-includes li:nth-child(n+3){border-top:1px solid var(--ht-line)}
  .ht-footer__top{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ht-footer__brand{grid-column:1/-1}
  .ht-stage{grid-template-columns:clamp(90px,14vw,140px) minmax(0,1fr)}
  .ht-stage__side{grid-column:2}
  .ht-rows li{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
  .ht-rows .ht-mix{grid-column:2}
}
@media (max-width:860px){
  .ht-hero__grid,.ht-split,.ht-engage-strip,.ht-faq-layout,.ht-contact,.ht-region,.ht-svc-item,.ht-cta__inner{grid-template-columns:minmax(0,1fr)}
  .ht-hero__mark{width:min(64%,280px);justify-self:start;order:-1}
  .ht-svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ht-svc:not(:nth-child(3n)){border-right:0}
  .ht-svc:not(:nth-child(3n+1)){padding-left:0}
  .ht-svc:nth-child(odd){border-right:1px solid var(--ht-line);padding-right:24px}
  .ht-svc:nth-child(even){padding-left:24px}
  .ht-hush{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ht-hush__step:nth-child(3){padding-left:0;border-left:0}
  .ht-hush__step:nth-child(n+3){border-top:1px solid var(--ht-line);padding-top:24px}
  .ht-stages{grid-template-columns:minmax(0,1fr)}
  .ht-beliefs li{grid-template-columns:minmax(0,1fr)}
  .ht-name{grid-template-columns:minmax(0,1fr)}
  .ht-name .ht-hero__mark{justify-self:start;order:-1}
  .ht-phero__ring{opacity:.45;right:-30vw}
}
@media (max-width:620px){
  .ht{font-size:16px}
  .ht-pillars,.ht-svc-grid,.ht-markets,.ht-models-grid,.ht-includes,.ht-ticks,.ht-form{grid-template-columns:minmax(0,1fr)}
  .ht-pillar,.ht-pillar:nth-child(even){padding:26px 0;border-right:0!important}
  .ht-svc,.ht-svc:nth-child(odd),.ht-svc:nth-child(even){padding:22px 0;border-right:0}
  .ht-includes li,.ht-includes li+li{padding:18px 0;border-left:0;border-top:1px solid var(--ht-line)}
  .ht-includes li:first-child{border-top:0}
  .ht-stage{grid-template-columns:minmax(0,1fr)}
  .ht-stage__side{grid-column:auto}
  .ht-stage .ht-hush__letter{font-size:5rem}
  .ht-rows li{grid-template-columns:minmax(0,1fr)}
  .ht-rows .ht-mix{grid-column:auto}
  .ht-footer__top{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ht-board__row{padding:16px 18px}
  .ht-tabs{display:flex}
  .ht-tabs button{flex:1;padding:12px 10px}
  .ht-btns .ht-btn{flex:1 1 auto}
  .ht-loop{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
  .ht *,.ht *::before,.ht *::after{animation:none!important;transition:none!important}
  .ht-ripple{display:none}
}

.ht-after{margin-top:36px}

/* page template wrapper (child theme) */
body.hushtag-page{margin:0;background:#fff}
body.hushtag-page #main-content{padding:0;background:#fff}
.ht-form__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.ht-form__msg.is-error{color:#B3202C;font-weight:600}
