/* ============================================================
   PUBLISYS MEDIA: homepage
   Loaded after home-theme.css, brand-warm.css and typography.css,
   only on the homepage (not /home3). Every rule is scoped to
   body.pm-homepage and the hp- classes in _home-optimized.php.

   Direction: an editor's desk for search. Ink on warm paper, the
   brand red used like an editor's pen: the primary action, the
   italic accent in headings and the numbered citation marks that
   tie the example answer to the four requirements.
   ============================================================ */

.pm-homepage{
  --hp-ink:#17161a;
  --hp-ink-2:#4a4850;
  --hp-ink-3:#6f6c75;
  --hp-line:rgba(23,22,26,.09);
  --hp-line-2:rgba(23,22,26,.16);
  --hp-paper:#fff;
  --hp-soft:color-mix(in srgb,var(--pm-bg-soft) 30%,#fff 70%);
  --hp-red:var(--pm-primary);
  --hp-red-ink:var(--pm-primary-dark);
  --hp-ease:cubic-bezier(.2,.7,.2,1);
  margin:0;
  color:var(--hp-ink-2);
}

/* ---------- Type ---------- */
.pm-homepage main h1,
.pm-homepage main h2,
.pm-homepage main h3{color:var(--hp-ink);font-weight:600!important;margin-top:0;margin-bottom:0;}
.pm-homepage main h1{letter-spacing:-.025em!important;}
.pm-homepage main h3{font-size:1.125rem!important;letter-spacing:-.005em!important;}
.pm-homepage main h1 em,
.pm-homepage main h2 em{white-space:nowrap;font-family:Georgia,serif;font-style:italic;font-weight:500;color:var(--hp-red);letter-spacing:-.01em;}
.pm-homepage main p{color:var(--hp-ink-2);margin:0;}

.hp-label{display:block;margin:0 0 12px;font-family:var(--pm-font-body);font-size:.875rem;font-weight:500;letter-spacing:0;text-transform:none;color:var(--hp-red-ink);}

/* ---------- Actions ---------- */
.hp-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:52px;padding:0 24px;border-radius:10px;border:0;
  background:var(--hp-red-ink);color:#fff;
  font-family:var(--pm-font-body);font-size:1rem;font-weight:600;line-height:1;text-decoration:none;cursor:pointer;
  transition:background-color .16s var(--hp-ease),transform .12s var(--hp-ease);
}
.hp-btn:hover{background:#b80012;color:#fff;}
.hp-btn:active{transform:scale(.98);}
.hp-btn svg{width:18px;height:18px;}
.hp-btn-block{width:100%;}
.hp-link{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.9375rem;font-weight:500;color:var(--hp-ink);text-decoration:none;
  border-bottom:1px solid var(--hp-line-2);padding-bottom:2px;
  transition:color .16s var(--hp-ease),border-color .16s var(--hp-ease);
}
.hp-link svg{width:16px;height:16px;transition:transform .16s var(--hp-ease);}
.hp-link:hover{color:var(--hp-red-ink);border-color:currentColor;}
.hp-link:hover svg{transform:translateX(2px);}
.hp-btn:focus-visible,.hp-link:focus-visible,.hp-service:focus-visible,
.pm-homepage .hp-form :is(input,select):focus-visible{outline:2px solid var(--hp-red-ink);outline-offset:3px;}
.hp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;}

/* ---------- Sections ---------- */
.hp-section{padding:96px 0;}
.hp-soft{background:var(--hp-soft);border-top:1px solid var(--hp-line);border-bottom:1px solid var(--hp-line);}
.hp-soft + .hp-section,.hp-section + .hp-soft{border-top-color:var(--hp-line);}
.hp-split-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 64px;align-items:end;margin-bottom:48px;}
.hp-split-head h2{max-width:560px;}
.hp-split-head > p{max-width:560px;}
.hp-split-head > .hp-link{justify-self:start;}

/* ---------- Hero ---------- */
.hp-hero{padding:80px 0 88px;background:var(--hp-paper);}
.hp-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:72px;align-items:center;}
.pm-homepage .hp-hero h1{max-width:620px;margin-bottom:20px;}
.hp-lede{max-width:540px;font-size:1.125rem!important;line-height:1.6!important;margin-bottom:32px!important;}
.hp-pillars{list-style:none;margin:40px 0 0;padding:24px 0 0;border-top:1px solid var(--hp-line);display:flex;flex-wrap:wrap;gap:12px 32px;}
.hp-pillars a{display:flex;align-items:center;gap:8px;font-size:.9375rem;font-weight:500;color:var(--hp-ink);text-decoration:none;transition:color .16s var(--hp-ease);}
.hp-pillars a:hover{color:var(--hp-red-ink);}
.hp-pillars svg{width:20px;height:20px;flex:none;color:var(--hp-ink-3);}
.hp-commit-copy svg,.hp-checks svg{width:18px;height:18px;flex:none;color:var(--hp-red);}

.hp-form{background:var(--hp-paper);border:1px solid var(--hp-line-2);border-radius:16px;padding:32px;box-shadow:0 1px 2px rgba(23,22,26,.04),0 16px 40px -24px rgba(23,22,26,.18);}
.pm-homepage .hp-form h2{font-size:1.5rem!important;margin-bottom:8px;}
.pm-homepage .hp-form > p{font-size:.9375rem!important;margin-bottom:24px;}
.hp-form form{display:grid;gap:20px;}
.hp-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.hp-field label{display:block;margin-bottom:4px;font-size:.8125rem;font-weight:500;color:var(--hp-ink-2);}
.pm-homepage .hp-form input,
.pm-homepage .hp-form select{
  width:100%;height:40px;padding:0;margin:0;border:0;border-bottom:1px solid var(--hp-line-2);border-radius:0;
  background:transparent;font-family:var(--pm-font-body);font-size:1rem;color:var(--hp-ink);box-shadow:none;
  transition:border-color .16s var(--hp-ease);
}
.pm-homepage .hp-form select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:24px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236f6c75' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 0 center/16px no-repeat;}
.pm-homepage .hp-form input::placeholder{color:#a9a6ae;}
.pm-homepage .hp-form input:focus,.pm-homepage .hp-form select:focus{outline:none;border-bottom-color:var(--hp-red-ink);box-shadow:inset 0 -1px 0 var(--hp-red-ink);}
.hp-form button{margin-top:8px;}
.hp-form-foot{list-style:none;margin:16px 0 0;padding:0;display:flex;justify-content:center;flex-wrap:wrap;gap:8px 20px;}
.hp-form-foot li{display:flex;align-items:center;gap:6px;font-size:.8125rem!important;line-height:1.4!important;color:var(--hp-ink-3);}
.hp-form-foot svg{width:15px;height:15px;flex:none;}
.hp-req{color:var(--hp-red-ink);}
.hp-form-msg{padding:12px 16px;border-radius:8px;font-size:.9375rem;margin-bottom:20px;}
.hp-form-msg.is-ok{background:#eef6f0;color:#1f5d34;}
.hp-form-msg.is-err{background:#fbeeee;color:#8f1d1d;}

/* ---------- Commitment and figures ---------- */
.hp-commit{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px 32px;padding-top:20px;padding-bottom:20px;border-bottom:1px solid var(--hp-line);}
.pm-homepage .hp-figures .hp-commit{border-bottom:0;}
.hp-figures .hp-commit + .hp-figures-grid{border-top:1px solid var(--hp-line);}
.hp-commit-copy{display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px;}
.hp-commit-copy > span{font-size:.875rem;font-weight:500;color:var(--hp-red-ink);}
.hp-commit-copy ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 24px;}
.hp-commit-copy li{display:flex;align-items:center;gap:8px;font-size:.9375rem!important;color:var(--hp-ink);}
.hp-commit-rating{display:flex;align-items:center;gap:8px;font-size:.9375rem;color:var(--hp-ink-2);}
.hp-commit-rating strong{font-family:var(--pm-font-heading);font-weight:600;color:var(--hp-ink);font-variant-numeric:tabular-nums;}
.hp-stars{display:flex;gap:2px;}
.hp-stars svg{width:16px;height:16px;fill:#e2a12b;}

.hp-figures{border-top:1px solid var(--hp-line);border-bottom:1px solid var(--hp-line);background:var(--hp-soft);}
.hp-figures-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));}
.hp-figures-grid > div{padding:32px 24px;border-left:1px solid var(--hp-line);display:flex;flex-direction:column;}
.hp-figures-grid > div:first-child{border-left:0;padding-left:0;}
.hp-figures-grid strong{font-family:var(--pm-font-heading);font-weight:500;font-size:2.25rem;line-height:1;letter-spacing:-.02em;color:var(--hp-ink);font-variant-numeric:tabular-nums;margin-bottom:12px;}
.hp-figures-grid span{font-size:.9375rem;color:var(--hp-ink);}
.hp-figures-grid small{font-size:.8125rem;color:var(--hp-ink-3);margin-top:2px;}

/* ---------- Capabilities ---------- */
.hp-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--hp-line);}
.hp-columns article{padding:32px 28px 8px;border-left:1px solid var(--hp-line);display:flex;flex-direction:column;}
.hp-columns article:first-child{border-left:0;padding-left:0;}
.hp-ic{width:22px;height:22px;color:var(--hp-ink-3);margin-bottom:20px;}
.hp-columns h3{margin-bottom:8px!important;}
.hp-columns p{font-size:.9375rem!important;margin-bottom:24px!important;flex:1;}
.hp-columns .hp-link{align-self:flex-start;font-size:.875rem;}

/* ---------- Example answer (the page's moment) ---------- */
.hp-answer-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:center;}
.pm-homepage .hp-answer-intro h2{margin-bottom:16px;}
.hp-answer-intro p{margin-bottom:28px!important;}

.hp-cite{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:18px;height:18px;padding:0 4px;margin-left:4px;border-radius:5px;
  border:1px solid color-mix(in srgb,var(--hp-red) 55%,transparent);
  font-family:var(--pm-font-body);font-size:.6875rem;font-weight:600;line-height:1;
  color:var(--hp-red-ink);background:#fff;vertical-align:.35em;font-variant-numeric:tabular-nums;
}
.hp-answer{margin:0;background:var(--hp-paper);border:1px solid var(--hp-line-2);border-radius:16px;
  box-shadow:0 1px 2px rgba(23,22,26,.04),0 24px 56px -32px rgba(23,22,26,.28);overflow:hidden;}
.hp-answer-bar{display:flex;align-items:center;gap:10px;height:52px;padding:0 20px;border-bottom:1px solid var(--hp-line);font-size:.9375rem;color:var(--hp-ink);}
.hp-answer-bar svg{width:18px;height:18px;color:var(--hp-ink-3);flex:none;}
.hp-answer-body{padding:24px 24px 8px;}
.hp-answer-kicker{font-size:.8125rem!important;font-weight:500;color:var(--hp-ink-3)!important;margin-bottom:8px!important;}
.hp-answer-text{font-size:1.0625rem!important;line-height:1.6!important;color:var(--hp-ink)!important;margin-bottom:20px!important;}
.hp-answer-text mark{background:linear-gradient(transparent 62%,color-mix(in srgb,var(--hp-red) 16%,transparent) 62%);color:inherit;padding:0 1px;}
.hp-source{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--hp-line);border-radius:10px;text-decoration:none;pointer-events:none;}
.hp-source-fav{width:32px;height:32px;border-radius:8px;background:#1f3b4d;color:#fff;display:grid;place-items:center;font-family:var(--pm-font-heading);font-weight:600;font-size:.9375rem;flex:none;}
.hp-source-copy{display:flex;flex-direction:column;min-width:0;}
.hp-source-copy strong{font-size:.9375rem;font-weight:500;color:var(--hp-ink);}
.hp-source-url{display:flex;align-items:center;min-width:0;font-size:.8125rem;color:var(--hp-ink-3);}
.hp-source-url > span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hp-source-url .hp-cite{flex:none;vertical-align:baseline;}
.hp-source-meta{margin:16px 0 0;}
.hp-source-meta > div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--hp-line);font-size:.875rem;}
.hp-source-meta dt{color:var(--hp-ink-3);}
.hp-source-meta dd{margin:0;color:var(--hp-ink);}
.hp-answer figcaption{padding:12px 24px;border-top:1px solid var(--hp-line);background:var(--hp-soft);font-size:.8125rem;color:var(--hp-ink-3);}

.hp-reqs{list-style:none;margin:72px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--hp-line);}
.hp-reqs li{padding:28px 28px 0;border-left:1px solid var(--hp-line);}
.hp-reqs li:first-child{border-left:0;padding-left:0;}
.hp-cite-lg{min-width:24px;height:24px;margin:0 0 16px;border-radius:6px;font-size:.8125rem;vertical-align:baseline;}
.hp-reqs h3{margin-bottom:8px!important;}
.hp-reqs p{font-size:.9375rem!important;}

/* ---------- Services ---------- */
.hp-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px;border-top:1px solid var(--hp-line);}
.hp-service{display:grid;grid-template-columns:56px minmax(0,1fr) 20px;align-items:center;gap:16px;padding:24px 0;border-bottom:1px solid var(--hp-line);text-decoration:none;}
.pm-homepage .hp-service-num{font-weight:500!important;font-size:1.75rem!important;color:transparent!important;-webkit-text-stroke:1px color-mix(in srgb,var(--hp-red) 70%,transparent);transition:color .16s var(--hp-ease);}
.hp-service-copy{display:flex;flex-direction:column;gap:4px;}
.hp-service-copy strong{font-family:var(--pm-font-heading);font-weight:600;font-size:1.0625rem;color:var(--hp-ink);}
.hp-service-copy span{font-size:.9375rem;color:var(--hp-ink-2);line-height:1.55;}
.hp-service > svg{width:20px;height:20px;color:var(--hp-ink-3);transition:transform .16s var(--hp-ease),color .16s var(--hp-ease);}
.hp-service:hover .hp-service-copy strong{color:var(--hp-red-ink);}
.hp-service:hover > svg{color:var(--hp-red-ink);transform:translateX(3px);}
.pm-homepage .hp-service:hover .hp-service-num{color:color-mix(in srgb,var(--hp-red) 12%,transparent)!important;}

/* ---------- Method ---------- */
.hp-method{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--hp-line);}
.hp-method article{padding:28px 28px 0;border-left:1px solid var(--hp-line);display:flex;flex-direction:column;}
.hp-method article:first-child{border-left:0;padding-left:0;}
.pm-homepage .hp-method .pm-n{letter-spacing:.02em!important;font-weight:600!important;color:var(--hp-red-ink)!important;margin-bottom:16px;}
.hp-method h3{margin-bottom:8px!important;}
.hp-method p{font-size:.9375rem!important;flex:1;margin-bottom:20px!important;}
.hp-method small{font-size:.8125rem;color:var(--hp-ink-3);padding-top:12px;border-top:1px dashed var(--hp-line-2);}

/* ---------- Conversion ---------- */
.hp-convert{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center;}
.pm-homepage .hp-convert h2{margin-bottom:16px;}
.hp-convert-visual{position:relative;margin:0;border-radius:16px;overflow:hidden;aspect-ratio:4/4.4;}
.hp-convert-visual img{width:100%;height:100%;object-fit:cover;display:block;}
.hp-convert-visual figcaption{position:absolute;left:16px;right:16px;bottom:16px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:14px 16px;border-radius:10px;background:#fff;font-size:.875rem;color:var(--hp-ink-2);box-shadow:0 8px 24px -12px rgba(23,22,26,.3);}
.hp-convert-visual figcaption strong{color:var(--hp-ink);font-weight:600;}
.hp-checks{list-style:none;margin:28px 0 32px;padding:0;border-top:1px solid var(--hp-line);}
.hp-checks li{display:flex;gap:12px;padding:16px 0;border-bottom:1px solid var(--hp-line);font-size:.9375rem!important;line-height:1.55!important;}
.hp-checks li svg{margin-top:2px;}
.hp-checks li span{display:flex;flex-direction:column;gap:2px;color:var(--hp-ink-2);}
.hp-checks strong{font-weight:600;color:var(--hp-ink);}

/* ---------- Proof ---------- */
.hp-proof-head{align-items:end;}
.hp-ratings{display:flex;gap:32px;justify-self:end;flex-wrap:wrap;}
.hp-ratings > div{display:flex;align-items:center;gap:12px;font-size:.9375rem;color:var(--hp-ink-2);}
.hp-ratings img{height:22px;width:auto;}
.hp-ratings strong{font-family:var(--pm-font-heading);font-weight:600;color:var(--hp-ink);font-variant-numeric:tabular-nums;}
.hp-quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.hp-quotes blockquote{margin:0;padding:28px;background:var(--hp-paper);border:1px solid var(--hp-line);border-radius:14px;display:flex;flex-direction:column;justify-content:space-between;gap:28px;}
.hp-quotes blockquote p{font-size:1.0625rem!important;line-height:1.6!important;color:var(--hp-ink)!important;}
.hp-quotes footer{display:flex;flex-direction:column;font-size:.875rem;color:var(--hp-ink-3);padding-top:16px;border-top:1px solid var(--hp-line);}
.hp-quotes footer strong{color:var(--hp-ink);font-weight:600;}

/* ---------- Comparison ---------- */
.hp-compare{border-top:1px solid var(--hp-line-2);}
.hp-compare-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;border-bottom:1px solid var(--hp-line);}
.hp-compare-row > div{padding:20px 24px 20px 0;font-size:.9375rem;line-height:1.55;color:var(--hp-ink-3);}
.hp-compare-row > div:first-child{color:var(--hp-ink-2);padding-right:40px;}
.hp-compare-row > div:first-child strong{color:var(--hp-ink);font-weight:600;}
.hp-compare-head > div{padding-top:16px;padding-bottom:16px;font-family:var(--pm-font-heading);font-weight:600;font-size:.9375rem;color:var(--hp-ink);}
.hp-compare-head > div:first-child{color:var(--hp-red-ink);}

/* ---------- Timeline ---------- */
.hp-timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--hp-line-2);}
.hp-timeline li{position:relative;padding:32px 32px 0 0;}
.hp-timeline li::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--hp-paper);border:1px solid var(--hp-red);}
.hp-timeline li:first-child::before{background:var(--hp-red);}
.hp-days{display:block;margin-bottom:12px;font-size:.8125rem;font-weight:500;color:var(--hp-red-ink);font-variant-numeric:tabular-nums;}
.hp-timeline h3{margin-bottom:8px!important;}
.hp-timeline p{font-size:.9375rem!important;max-width:340px;}

/* ---------- Recognition: a still row, no ticker ---------- */
.hp-recognition{padding:56px 0;}
.hp-recognition p{font-size:.875rem!important;color:var(--hp-ink-3)!important;margin-bottom:24px!important;}
.pm-homepage .hp-recognition .pm-logos-strip{-webkit-mask-image:none;mask-image:none;}
.pm-homepage .hp-recognition .pm-logos-track{animation:none;width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));align-items:center;justify-items:center;gap:28px 32px;}
.pm-homepage .hp-recognition .pm-logos-track img{height:32px;margin:0;opacity:.55;}
.pm-homepage .hp-recognition .pm-logos-track img:hover{opacity:.9;}
.pm-homepage .hp-recognition .pm-logos-track img.dup{display:none;}

/* ---------- FAQ ---------- */
.hp-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:72px;align-items:start;}
.hp-faq-intro{position:sticky;top:120px;}
.pm-homepage .hp-faq-intro h2{margin-bottom:16px;}
.hp-faq-intro p{margin-bottom:28px!important;}
.hp-faq-list{border-top:1px solid var(--hp-line-2);}
.pm-homepage .hp-faq-list .pm-faq-item{background:none!important;border:0!important;border-bottom:1px solid var(--hp-line)!important;border-radius:0!important;box-shadow:none!important;margin:0!important;padding:0!important;}
.pm-homepage .hp-faq-list .pm-faq-q{padding:20px 0!important;font-family:var(--pm-font-heading);font-weight:500!important;color:var(--hp-ink)!important;background:none!important;}
.pm-homepage .hp-faq-list .pm-faq-q:hover{color:var(--hp-red-ink)!important;}
.pm-homepage .hp-faq-list .pm-faq-icon{width:20px!important;height:20px!important;padding:0!important;background:none!important;border:0!important;border-radius:0!important;color:var(--hp-ink-3)!important;box-shadow:none!important;transition:transform .2s var(--hp-ease)!important;}
.pm-homepage .hp-faq-list .pm-faq-icon svg{width:20px;height:20px;}
.pm-homepage .hp-faq-list .pm-faq-item[data-open="true"] .pm-faq-icon{color:var(--hp-red-ink)!important;}
.pm-homepage .hp-faq-list .pm-faq-a-inner{padding:0 40px 24px 0!important;color:var(--hp-ink-2);}

/* ---------- Close ---------- */
.hp-close{padding:88px 0;}
.hp-close-inner{display:grid;grid-template-columns:minmax(0,1.2fr) auto;gap:32px 64px;align-items:end;}
.pm-homepage .hp-close h2{margin-bottom:12px;}
.hp-close p{max-width:520px;}

/* ---------- Tablet ---------- */
@media (max-width:1080px){
  .hp-hero-grid,.hp-answer-grid,.hp-convert,.hp-faq{grid-template-columns:minmax(0,1fr);gap:48px;}
  .hp-form{max-width:560px;}
  .hp-columns,.hp-reqs,.hp-method{grid-template-columns:repeat(2,minmax(0,1fr));}
  .hp-columns article:nth-child(odd),.hp-reqs li:nth-child(odd),.hp-method article:nth-child(odd){border-left:0;padding-left:0;}
  .hp-columns article:nth-child(n+3),.hp-reqs li:nth-child(n+3),.hp-method article:nth-child(n+3){border-top:1px solid var(--hp-line);margin-top:28px;}
  .hp-figures-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .hp-figures-grid > div:nth-child(3){border-left:0;padding-left:0;}
  .hp-figures-grid > div:nth-child(n+3){border-top:1px solid var(--hp-line);}
  .hp-quotes{grid-template-columns:minmax(0,1fr);}
  .hp-faq-intro{position:static;}
  .hp-convert-visual{aspect-ratio:16/10;}
}

/* ---------- Mobile ---------- */
@media (max-width:720px){
  .hp-section{padding:64px 0;}
  .hp-hero{padding:48px 0 64px;}
  .hp-split-head{grid-template-columns:minmax(0,1fr);margin-bottom:32px;gap:16px;}
  .hp-ratings{justify-self:start;}
  .hp-form{padding:24px 20px;}
  .hp-field-row{grid-template-columns:minmax(0,1fr);}
  .hp-actions .hp-btn{width:100%;}
  .hp-columns,.hp-reqs,.hp-method,.hp-services,.hp-timeline{grid-template-columns:minmax(0,1fr);}
  .hp-columns article,.hp-reqs li,.hp-method article{border-left:0;padding:24px 0 0;margin-top:24px;border-top:1px solid var(--hp-line);}
  .hp-columns article:first-child,.hp-reqs li:first-child,.hp-method article:first-child{border-top:0;margin-top:0;}
  .hp-reqs{margin-top:48px;}
  .hp-timeline li{padding:28px 0 0 24px;border-left:1px solid var(--hp-line-2);}
  .hp-timeline{border-top:0;}
  .hp-timeline li::before{left:-5px;top:32px;}
  .hp-compare-head{display:none;}
  .hp-compare-row{grid-template-columns:minmax(0,1fr);padding:16px 0;}
  .hp-compare-row > div{padding:4px 0;}
  .hp-compare-row > div:nth-child(2)::before{content:"Typical specialist agency: ";color:var(--hp-ink);font-weight:500;}
  .hp-compare-row > div:nth-child(3)::before{content:"In-house team: ";color:var(--hp-ink);font-weight:500;}
  .hp-figures-grid > div{padding:24px 16px;}
  .hp-figures-grid > div:nth-child(odd){padding-left:0;}
  .hp-figures-grid strong{font-size:1.75rem;}
  .hp-answer-body{padding:20px 16px 4px;}
  .hp-answer-bar{padding:0 16px;}
  .hp-answer figcaption{padding:12px 16px;}
  .hp-source-meta > div{grid-template-columns:64px minmax(0,1fr);}
  .hp-close-inner{grid-template-columns:minmax(0,1fr);}
  .pm-homepage .hp-recognition .pm-logos-track{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 16px;}
  .pm-homepage .hp-recognition .pm-logos-track img{height:24px;}
}

/* ---------- Challenges (moved from /home3, 4.63.0) ---------- */
.hp-challenges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--hp-line);}
.hp-challenges article{padding:28px 28px 32px;border-left:1px solid var(--hp-line);border-bottom:1px solid var(--hp-line);}
.hp-challenges article:nth-child(3n+1){border-left:0;padding-left:0;}
.hp-challenges article:nth-last-child(-n+3){border-bottom:0;}
.hp-challenges .hp-ic{margin-bottom:16px;}
.pm-homepage .hp-challenges h3{margin-bottom:8px!important;}
.hp-challenges p{font-size:.9375rem!important;}
@media (max-width:1080px){
  .hp-challenges{grid-template-columns:repeat(2,minmax(0,1fr));}
  .hp-challenges article{border-left:1px solid var(--hp-line);border-bottom:1px solid var(--hp-line);padding-left:28px;}
  .hp-challenges article:nth-child(odd){border-left:0;padding-left:0;}
  .hp-challenges article:nth-last-child(-n+3){border-bottom:1px solid var(--hp-line);}
  .hp-challenges article:nth-last-child(-n+2){border-bottom:0;}
}
@media (max-width:720px){
  .hp-challenges{grid-template-columns:minmax(0,1fr);}
  .hp-challenges article,.hp-challenges article:nth-child(odd){border-left:0;padding:24px 0;border-bottom:1px solid var(--hp-line);}
  .hp-challenges article:last-child{border-bottom:0;}
}
