/* HappyDivi site pages (homepage, pricing): look and feel for the classes set in tools/lib/{site-chrome,home,pricing}.php. */

.hd-site { font-family: var(--hd-font-body); color: var(--hd-ink); background: var(--hd-soft); }
.hd-site #page-container, .hd-site #et-main-area, .hd-site #main-content { background: transparent; }
/* Divi 5 lays out every module as a 30px-gap flex column; spacing here comes from the elements' own margins. */

/* Layout: sections, rows and columns. */
.hd-site .et_pb_section.hd-s { padding: 104px 0; background: var(--hd-soft); }
.hd-site .et_pb_section.hd-s--white { background: var(--hd-white); }
.hd-site .et_pb_section.hd-s--dark { background: var(--hd-dark); color: #C9CEE6; }
.hd-site .et_pb_section.hd-s--blue { background: var(--hd-primary); color: var(--hd-white); }
.hd-site .et_pb_section.hd-s--line { border-top: 1px solid var(--hd-line); }
.hd-site .et_pb_section.hd-s--tight-bottom { padding-bottom: 40px; }
.hd-site .et_pb_section.hd-s--flush { padding-top: 0; padding-bottom: 24px; }
.hd-site .et_pb_section.hd-s--flush-top { padding-top: 0; }
.hd-site .et_pb_section.hd-s--connector { padding: 0; }
.hd-site .et_pb_section.hd-hero { padding: 88px 0 72px; }
.hd-site .hd-hero .et_pb_row.hd-wrap > .et_pb_column, .hd-site #liven .et_pb_row.hd-wrap > .et_pb_column, .hd-site #gallery .et_pb_row.hd-wrap > .et_pb_column, .hd-site #form .et_pb_row.hd-wrap > .et_pb_column { --horizontal-gap-parent: 64px !important; }
.hd-site #story .et_pb_row.hd-wrap > .et_pb_column, .hd-site #faq .et_pb_row.hd-wrap > .et_pb_column { --horizontal-gap-parent: 56px !important; }
.hd-site .hd-col-art { justify-content: center; }
.hd-site .hd-col-center { justify-content: center; }
.hd-site .hd-col-end { justify-content: flex-end; }
.hd-site .hd-hero .et_pb_row.hd-wrap, .hd-site #liven .et_pb_row.hd-wrap, .hd-site #gallery .et_pb_row.hd-wrap, .hd-site #form .et_pb_row.hd-wrap { column-gap: 64px; --horizontal-gap-parent: 64px !important; align-items: center; }
.hd-site #story .et_pb_row.hd-wrap, .hd-site #faq .et_pb_row.hd-wrap { column-gap: 56px; --horizontal-gap-parent: 56px !important; }

/* Type. */
.hd-site h1, .hd-site h2, .hd-site h3, .hd-site h4 { padding-bottom: 0; color: inherit; }
.hd-site .hd-h1 .et_pb_module_header, .hd-site .hd-h1 h1 { margin: 20px 0 24px; font: 800 72px/1.02 var(--hd-font-head); letter-spacing: -0.035em; color: var(--hd-ink); }
.hd-site .hd-h1--center .et_pb_module_header { text-align: center; max-width: 900px; margin-left: auto; margin-right: auto; }
.hd-site .hd-h2 .et_pb_module_header { margin: 0 0 20px; font: 800 54px/1.08 var(--hd-font-head); letter-spacing: -0.03em; color: var(--hd-ink); max-width: 820px; }
.hd-site .hd-h2--sm .et_pb_module_header { font-size: 40px; }
.hd-site .hd-h2--center .et_pb_module_header { text-align: center; margin-left: auto; margin-right: auto; }
.hd-site .hd-s--dark .hd-h2 .et_pb_module_header, .hd-site .hd-s--blue .hd-h2 .et_pb_module_header { color: var(--hd-white); }
.hd-site .hd-hl { color: var(--hd-yellow); }
.hd-site .hd-h3 .et_pb_module_header, .hd-site .hd-plan__name .et_pb_module_header { margin: 0 0 12px; font: 700 24px/1.2 var(--hd-font-head); color: inherit; }
.hd-site .hd-h4 .et_pb_module_header { margin: 14px 0 8px; font: 700 19px/1.5 var(--hd-font-body); color: var(--hd-ink); }
.hd-site .hd-copy, .hd-site .hd-copy p { font-size: 17px; line-height: 1.6; color: var(--hd-body); }
.hd-site .hd-copy p + p { margin-top: 16px; }
.hd-site .hd-lead p { font-size: 20px; line-height: 1.6; }
.hd-site .hd-s--dark .hd-copy p { color: #C9CEE6; }
.hd-site .hd-s--blue .hd-copy p { color: var(--hd-white); }
.hd-site .hd-measure { max-width: 680px; }
.hd-site .hd-center, .hd-site .hd-center p { text-align: center; }
.hd-site .hd-measure-center { max-width: 640px; margin: 0 auto; }
.hd-site .hd-right { text-align: right; }
.hd-site .hd-small, .hd-site .hd-copy .hd-small { font-size: 15px; color: var(--hd-body); }
.hd-site .hd-kicker { margin: 0 0 14px; font: 700 14px/1.4 var(--hd-font-body); letter-spacing: 0.14em; text-transform: uppercase; color: var(--hd-primary); }
.hd-site .hd-kicker-wrap.hd-center .hd-kicker { text-align: center; }
.hd-site .hd-kicker--yellow .hd-kicker { color: var(--hd-yellow); }
.hd-site .hd-kicker--sm { margin-bottom: 6px; font-size: 13px; }
.hd-site .hd-copy .hd-statement { margin: 40px 0 0; font: 700 26px/1.6 var(--hd-font-head); letter-spacing: -0.01em; color: var(--hd-ink); }
.hd-site .hd-sign { font-size: 16px; color: var(--hd-ink); }
/* Links inside sentences are underlined so they never rely on colour alone. */
.hd-site .hd-copy p a:not(.hd-strong-link), .hd-site .et_pb_toggle_content a { text-decoration: underline; text-underline-offset: 3px; }
.hd-site .hd-strong-link { font-weight: 700; color: var(--hd-primary); text-decoration: underline; text-underline-offset: 3px; }
.hd-site .hd-price-note { margin: 0; font-size: 16px; color: inherit; }
.hd-site .hd-s--dark .hd-price-note, .hd-site .hd-s--dark .hd-price-note strong { color: var(--hd-white); }

/* Pills, chips and tick lists. */
.hd-site .hd-pill { display: inline-flex; align-items: center; gap: 10px; margin: 0; padding: 6px 14px 6px 8px; border: 1px solid var(--hd-line); border-radius: var(--hd-radius-pill); background: var(--hd-white); font-size: 14px; font-weight: 500; color: var(--hd-ink); }
/* Divi's p:not(.has-background):last-of-type { padding-bottom: 0 } outranks one-class rules and drops the bottom padding of boxes drawn on a paragraph. */
.hd-site p.hd-pill:last-of-type { padding-bottom: 6px; }
.hd-site p.hd-tag:last-of-type { padding-bottom: 2px; }
.hd-site p.hd-plan__badge:last-of-type { padding-bottom: 4px; }
.hd-site p.hd-monthly:last-of-type { padding-bottom: 20px; }
.hd-site .hd-pill__tag, .hd-site .hd-tag { display: inline-block; padding: 2px 10px; border-radius: var(--hd-radius-pill); background: var(--hd-yellow); font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--hd-ink); }
.hd-site .hd-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0 0; padding: 0; list-style: none; }
.hd-site .hd-chips li { padding: 6px 14px; border: 1px solid var(--hd-line); border-radius: var(--hd-radius-pill); background: var(--hd-white); font-size: 14px; font-weight: 500; color: var(--hd-ink); }
.hd-site .hd-chips--strong li { padding: 10px 18px; border: 0; font-weight: 700; }
.hd-site .hd-ticks { margin: 24px 0 0; padding: 0; list-style: none; }
.hd-site .hd-ticks li { position: relative; margin: 0 0 10px; padding-left: 30px; font-size: 16px; line-height: 1.55; color: var(--hd-body); }
.hd-site .hd-ticks li::before { content: ""; position: absolute; left: 2px; top: 5px; width: 14px; height: 8px; border-left: 2px solid var(--hd-primary); border-bottom: 2px solid var(--hd-primary); transform: rotate(-45deg); }
.hd-site .hd-ticks--inline { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.hd-site .hd-ticks--inline li { margin: 0; font-size: 15px; }
.hd-site .hd-ticks--center { justify-content: center; }
.hd-site .hd-ticks--grid { display: grid; grid-template-columns: repeat(2, max-content); gap: 10px 28px; }
.hd-site .hd-ticks--grid li { margin: 0; font-size: 15px; }
/* Two text blocks in a row (a paragraph, then a note or signature) need the gap a paragraph margin would give. */
.hd-site .et_pb_text.hd-copy + .et_pb_text.hd-copy { margin-top: 16px; }
/* A connector right after the dark Liven section starts on a new background, so it needs its own top space. */
.hd-site .et_pb_section.hd-s--dark + .et_pb_section.hd-s--connector { padding-top: 48px; }
.hd-site .hd-ticks--yellow li { color: var(--hd-white); }
.hd-site .hd-ticks--yellow li::before { border-color: var(--hd-yellow); }
.hd-site .hd-s--blue .hd-ticks li { color: var(--hd-white); }
.hd-site .hd-s--blue .hd-ticks li::before { border-color: var(--hd-white); }

/* Connectors between sections. */
.hd-site .hd-connector { margin: 0; text-align: center; }
.hd-site .hd-connector a { display: inline-flex; flex-direction: column; align-items: center; gap: 8px; font-size: 16px; color: var(--hd-body); text-decoration: none; }
.hd-site .hd-connector a:hover { color: var(--hd-primary); }
.hd-site .hd-connector__arrow { font-size: 18px; }
.hd-site .hd-s--flush-top .hd-connector-wrap { margin-top: 64px; }

/* Cards. */
.hd-site .hd-card { height: 100%; padding: 32px; border: 1px solid var(--hd-line); border-radius: var(--hd-radius-card); background: var(--hd-white); }
.hd-site .hd-card--icon { padding: 26px; border-radius: 16px; }
.hd-site .hd-card--soft { border-color: var(--hd-soft); background: var(--hd-soft); }
.hd-site .hd-card--icon .hd-icon { display: block; color: var(--hd-primary); }
.hd-site .hd-num { margin: 0 0 14px; font: 800 40px/1 var(--hd-font-head); color: var(--hd-primary); }
.hd-site .hd-card .hd-copy p { font-size: 16px; }
.hd-site .hd-cards > .et_pb_column > .et_pb_module { flex: 1; }
.hd-site .hd-card--product { display: flex; flex-direction: column; gap: 0; }
.hd-site .hd-card--product > .et_pb_button_module_wrapper { margin-top: auto; padding-top: 24px; }
.hd-site .hd-card--dark { border-color: var(--hd-dark); background: var(--hd-dark); color: var(--hd-white); }
.hd-site .hd-card--dark .hd-copy p { color: #C9CEE6; }
.hd-site .hd-card--dark .hd-card__amount, .hd-site .hd-card--dark .hd-card__price { color: var(--hd-white); }
.hd-site .hd-tag { margin: 0 0 14px; }
.hd-site .hd-card__meta { font-size: 16px; }
.hd-site .hd-card__price { margin: 18px 0 8px; font-size: 16px; color: var(--hd-ink); }
.hd-site .hd-card__amount { font: 800 40px/1 var(--hd-font-head); color: var(--hd-ink); }
.hd-site .hd-guarantee { margin: 24px 0 8px; padding-left: 30px; position: relative; font-size: 16px; }
.hd-site .hd-guarantee::before { content: ""; position: absolute; left: 2px; top: 3px; width: 16px; height: 18px; border: 2px solid var(--hd-primary); border-radius: 3px 3px 9px 9px; }

/* Band and testimonials. */
.hd-site .et_pb_row.hd-wrap.hd-band { padding: 56px 64px; border-radius: 24px; background: #DCE3FF; align-items: center; }
.hd-site .hd-band .hd-copy p { color: #1F2A5C; }
.hd-site .et_pb_testimonial.hd-quote { height: 100%; margin: 0; padding: 28px !important; border-radius: var(--hd-radius-card); background: var(--hd-soft) !important; }
.hd-site .et_pb_testimonial.hd-quote::before { display: none; }
.hd-site .hd-quote .et_pb_testimonial_content { font-size: 18px; line-height: 1.6; color: var(--hd-ink); }
.hd-site .hd-quote .et_pb_testimonial_content p::before { content: "\201C"; }
.hd-site .hd-quote .et_pb_testimonial_content p::after { content: "\201D"; }
.hd-site .hd-quote .et_pb_testimonial_description, .hd-site .hd-quote .et_pb_testimonial_description_inner { margin: 0; row-gap: 0 !important; }
.hd-site .hd-quote .et_pb_testimonial_author { margin-top: 20px; font-size: 15px; font-weight: 700; color: var(--hd-ink); }
.hd-site .hd-quote .et_pb_testimonial_meta { margin-top: 2px; font-size: 15px; color: var(--hd-body); }
.hd-site .hd-quote .et_pb_testimonial_portrait { width: 48px !important; height: 48px !important; margin: 0 16px 0 0; }

/* Portrait. */
.hd-site .hd-portrait img { width: 100%; height: auto; border-radius: 20px; aspect-ratio: 4 / 5; object-fit: cover; }

/* FAQ (Divi Toggle modules with class hd-faq). */
.hd-site .hd-faq-group { margin: 0 0 6px; padding-top: 32px; font-size: 14px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--hd-body); }
.hd-site .et_pb_column > .et_pb_text:first-child .hd-faq-group { padding-top: 0; }
.hd-site .hd-faq-intro .et_pb_group + .et_pb_module { margin-top: 16px; }
.hd-site .et_pb_toggle.hd-faq { margin: 0; padding: 20px 0; border: 0; border-bottom: 1px solid var(--hd-line); background: transparent; }
.hd-site .et_pb_toggle.hd-faq .et_pb_toggle_title { padding-right: 40px; font: 700 19px/1.5 var(--hd-font-body); color: var(--hd-ink); }
.hd-site .et_pb_toggle.hd-faq .et_pb_toggle_title::before { content: "+"; right: 2px; font: 400 26px/1 var(--hd-font-body) !important; color: var(--hd-primary); margin-top: -13px; }
.hd-site .et_pb_toggle_open.hd-faq .et_pb_toggle_title::before { content: "×"; display: block; }
.hd-site .et_pb_toggle.hd-faq .et_pb_toggle_content { padding-top: 12px; font-size: 17px; line-height: 1.65; color: var(--hd-body); }
.hd-site .hd-faq-intro { position: sticky; top: 24px; align-self: flex-start; }

/* Final call to action. */
.hd-site .hd-cta .hd-h2 .et_pb_module_header { font-size: 58px; }
.hd-site .hd-cta .hd-lead { max-width: 600px; margin: 0 auto; }

.hd-site.hd-site--pricing .hd-header__menu .et-menu > li > a[href="/pricing/"] { color: var(--hd-primary); box-shadow: inset 0 -2px 0 var(--hd-primary); }
/* Device frames around real screenshots. Each is a Group holding one Image module, so the picture stays swappable in the builder. */
.hd-site .hd-device img { display: block; width: 100%; height: auto; }
.hd-site .et_pb_group.hd-device--browser { position: relative; overflow: hidden; padding-top: 34px; border: 1px solid var(--hd-line); border-radius: 16px; background: var(--hd-white); box-shadow: 0 30px 60px -30px rgba(14, 20, 48, 0.28); }
.hd-site .hd-device--browser::before { content: ""; position: absolute; top: 13px; left: 16px; width: 9px; height: 9px; border-radius: 50%; background: #FF6159; box-shadow: 15px 0 0 #FFBD2E, 30px 0 0 #28C840; }
.hd-site .hd-device--browser::after { content: ""; position: absolute; top: 33px; left: 0; right: 0; border-top: 1px solid var(--hd-line); }
.hd-site .et_pb_group.hd-device--browser + .et_pb_text { margin-top: 24px; }
.hd-site .et_pb_group.hd-devices { position: relative; padding-bottom: 40px; }
.hd-site .et_pb_group.hd-device--laptop { position: relative; overflow: visible; width: 92%; padding: 10px 10px 12px; border-radius: 16px 16px 4px 4px; background: #0E1430; box-shadow: 0 40px 70px -35px rgba(14, 20, 48, 0.45); }
.hd-site .hd-device--laptop img { border-radius: 4px; }
.hd-site .hd-device--laptop::after { content: ""; position: absolute; left: -6%; right: -6%; bottom: -12px; height: 12px; border-radius: 0 0 12px 12px; background: linear-gradient(#DCE1EE, #B5BDD3); }
.hd-site .et_pb_group.hd-device--phone { position: absolute; right: 0; bottom: 0; width: 29%; padding: 6px; border-radius: 24px; background: #0E1430; box-shadow: 0 30px 50px -20px rgba(14, 20, 48, 0.5); }
.hd-site .hd-device--phone img { border-radius: 18px; }
.hd-site .et_pb_group.hd-devices--form { padding-bottom: 0; }
.hd-site .hd-devices--form .et_pb_group.hd-device--browser + .et_pb_text { position: relative; z-index: 1; align-self: flex-start; margin: -52px 0 0 24px; }
.hd-site .hd-ticks--card { display: inline-block; margin: 0; padding: 18px 22px 10px; border-radius: 16px; background: var(--hd-dark); box-shadow: 0 24px 40px -24px rgba(14, 20, 48, 0.6); }
.hd-site .hd-ticks--card li { font-size: 15px; color: var(--hd-white); }
.hd-site .hd-ticks--card li::before { border-color: var(--hd-green); }

/* Liven, live: the button in this card carries real Liven cues, so Pip appears beside it. */
.hd-site .et_pb_group.hd-card.hd-livedemo { align-items: flex-start; height: auto; padding: 40px 120px 40px 40px; border: 0; background: var(--hd-white); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, 0.55); }
.hd-site .hd-livedemo__label { margin: 0 0 12px; font-size: 13px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--hd-primary); }
.hd-site .hd-livedemo__title { margin: 0 0 10px; font: 700 24px/1.25 var(--hd-font-head); color: var(--hd-ink); }
.hd-site .hd-livedemo__text { margin: 0; font-size: 16px; line-height: 1.6; color: var(--hd-body); }
.hd-site .hd-livedemo .et_pb_button_module_wrapper { margin-top: 28px; }

/* Image sources as chips with a small line icon each. */
.hd-site .hd-chips--sources li { display: inline-flex; align-items: center; gap: 8px; }
.hd-site .hd-src::before { content: ""; flex: none; width: 16px; height: 16px; background: var(--hd-primary); -webkit-mask: var(--hd-src-icon) center / contain no-repeat; mask: var(--hd-src-icon) center / contain no-repeat; }
.hd-site .hd-src--media { --hd-src-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='M21 15l-5-5L5 21'/%3E%3C/svg%3E"); }
.hd-site .hd-src--woo { --hd-src-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6'/%3E%3C/svg%3E"); }
.hd-site .hd-src--posts { --hd-src-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6M16 13H8M16 17H8'/%3E%3C/svg%3E"); }
.hd-site .hd-src--acf { --hd-src-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21v-7M4 10V3M12 21v-9M12 8V3M20 21v-5M20 12V3M1 14h6M9 8h6M17 16h6'/%3E%3C/svg%3E"); }
.hd-site .hd-src--cpt { --hd-src-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2 2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5'/%3E%3C/svg%3E"); }

/* Trustpilot reviews show their five stars (the job line says "5-star review" for screen readers). */
.hd-site .hd-quote--5star .et_pb_testimonial_content::before { content: ""; display: block; width: 105px; height: 18px; margin-bottom: 14px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2 0 28 24'%3E%3Cpath fill='%23F5A623' d='M12 2l3.1 6.3 6.9 1-5 4.9 1.2 6.8L12 17.8 5.8 21l1.2-6.8-5-4.9 6.9-1z'/%3E%3C/svg%3E") left center / 21px 18px repeat-x; }

/* Pricing: switcher (shown only once pricing.js is running). */
.hd-site [data-hd-pricing]:not(.is-ready) { display: none; }
.hd-site .hd-switch__step { margin: 0 0 12px; font-size: 15px; font-weight: 700; color: var(--hd-ink); }
.hd-site .hd-switch__products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.hd-site .hd-switch__product { display: flex; flex-direction: column; gap: 4px; padding: 18px 22px; border: 1px solid var(--hd-line); border-radius: 14px; background: var(--hd-white); text-align: left; font-family: var(--hd-font-body); color: var(--hd-ink); cursor: pointer; }
.hd-site .hd-switch__product[aria-pressed="true"] { border-color: var(--hd-ink); background: var(--hd-ink); color: var(--hd-white); }
.hd-site .hd-switch__name { font: 700 20px/1.3 var(--hd-font-head); }
/* Inline in a plugin card, the tag must not keep the product-card tag's bottom margin, or that card grows taller than its neighbours. */
.hd-site .hd-switch__name .hd-tag { margin: 0 0 0 6px; vertical-align: 2px; }
.hd-site .hd-switch { margin-bottom: 32px; }
/* Four plans side by side leave each button about 200px: a slimmer pill keeps "Get unlimited sites" on one line. */
.hd-site .hd-plans .et_pb_button.hd-btn { padding: 14px 16px !important; white-space: nowrap; }
.hd-site .et_pb_text:has(.hd-compare-table) { margin-top: 20px; }
.hd-site .hd-switch__from { font-size: 15px; color: var(--hd-body); }
.hd-site .hd-switch__product[aria-pressed="true"] .hd-switch__from { color: #C9CEE6; }
.hd-site .hd-switch__payrow { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 28px; }
.hd-site .hd-switch__payrow .hd-switch__step { margin: 0; }
.hd-site .hd-switch__pay { display: inline-flex; padding: 4px; border: 1px solid var(--hd-line); border-radius: var(--hd-radius-pill); background: var(--hd-white); }
.hd-site .hd-switch__pay button { min-height: 44px; padding: 8px 20px; border: 0; border-radius: var(--hd-radius-pill); background: transparent; font: 700 15px/1 var(--hd-font-body); color: var(--hd-ink); cursor: pointer; }
.hd-site .hd-switch__pay button[aria-pressed="true"] { background: var(--hd-primary); color: var(--hd-white); }
.hd-site .hd-switch__note { margin: 0; font-size: 15px; color: var(--hd-body); }
.hd-site .hd-show[hidden] { display: none !important; }
.hd-site .et_pb_section.hd-show { padding-top: 0; padding-bottom: 24px; }
.hd-site .et_pb_section.hd-show:first-of-type { padding-top: 40px; }

/* Pricing: plan cards. */
.hd-site .hd-plans { align-items: stretch; padding-top: 16px !important; }
.hd-site .hd-plan { position: relative; display: flex; flex-direction: column; height: 100%; padding: 32px; border: 1px solid var(--hd-line); border-radius: 20px; background: var(--hd-white); }
.hd-site .hd-plan--featured { border: 2px solid var(--hd-primary); }
.hd-site .hd-plan--dark { border-color: var(--hd-dark); background: var(--hd-dark); color: var(--hd-white); }
.hd-site .hd-plan--aside { background: var(--hd-soft); }
.hd-site .hd-plan__badge { position: absolute; top: -14px; left: 28px; margin: 0; padding: 4px 12px; border-radius: var(--hd-radius-pill); background: var(--hd-primary); font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--hd-white); }
.hd-site .hd-plan--dark .hd-plan__badge { background: var(--hd-yellow); color: var(--hd-ink); }
.hd-site .hd-plan__desc { margin: 0 0 16px; font-size: 15px; color: var(--hd-body); }
.hd-site .hd-plan--dark .hd-plan__desc, .hd-site .hd-plan--dark .hd-plan__cadence { color: #C9CEE6; }
.hd-site .hd-plan__price { margin: 0; color: inherit; }
.hd-site .hd-plan__amount { font: 800 48px/1 var(--hd-font-head); letter-spacing: -0.02em; color: inherit; }
.hd-site .hd-plan__cadence { font-size: 16px; color: var(--hd-body); }
.hd-site .hd-plan__was { margin-left: 8px; font-size: 16px; color: var(--hd-body); }
.hd-site .hd-plan--dark .hd-plan__was { color: #C9CEE6; }
.hd-site .hd-plan > .et_pb_text:has(.hd-plan__badge), .hd-site .hd-plan > .et_pb_text:has(.hd-plan__badge) .et_pb_text_inner { position: static; }
.hd-site .hd-plan__features { margin: 20px 0 24px; padding: 0; list-style: none; }
.hd-site .hd-plan__features li { position: relative; margin: 0 0 10px; padding-left: 26px; font-size: 15px; line-height: 1.5; color: inherit; }
.hd-site .hd-plan__features li::before { content: ""; position: absolute; left: 2px; top: 5px; width: 11px; height: 6px; border-left: 2px solid var(--hd-primary); border-bottom: 2px solid var(--hd-primary); transform: rotate(-45deg); }
.hd-site .hd-plan--dark .hd-plan__features li::before { border-color: var(--hd-yellow); }
.hd-site .hd-plan > .et_pb_button_module_wrapper { margin-top: auto; }
.hd-site .hd-monthly { padding: 20px 24px; border: 1px dashed var(--hd-line); border-radius: 14px; background: var(--hd-white); font-size: 15px; }
.hd-site .hd-list-title { margin: 0 0 12px; font-weight: 700; color: var(--hd-ink); }
.hd-site .hd-included .hd-ticks { margin-top: 0; }
.hd-site .hd-included .hd-ticks li { font-size: 15px; }

/* Pricing: Free and Pro table. */
.hd-site .hd-compare-table { overflow-x: auto; border: 1px solid var(--hd-line); border-radius: 18px; background: var(--hd-white); }
.hd-site .hd-compare-table table { width: 100%; border: 0; border-collapse: collapse; margin: 0; }
.hd-site .hd-compare-table th, .hd-site .hd-compare-table td { padding: 14px 20px; border: 0; border-bottom: 1px solid var(--hd-line); text-align: left; font-size: 15px; color: var(--hd-ink); }
.hd-site .hd-compare-table thead th { font-weight: 700; }
.hd-site .hd-compare-table th[scope="row"] { font-weight: 400; color: var(--hd-body); }
.hd-site .hd-compare-table td { width: 140px; white-space: nowrap; }
.hd-site .hd-compare__group td { padding-top: 20px; font-size: 13px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--hd-body); }
.hd-site .hd-yes, .hd-site .hd-no { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; }
.hd-site .hd-yes::before { content: "✓"; display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--hd-primary); font-size: 12px; color: var(--hd-white); }
.hd-site .hd-no { color: var(--hd-body); }
.hd-site .hd-no::before { content: "–"; display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--hd-line); color: var(--hd-body); }

/* Tablets and phones. */
@media (max-width: 980px) {
	.hd-site .et_pb_section.hd-s { padding: 72px 0; }
	.hd-site .et_pb_section.hd-s--tight-bottom { padding-bottom: 32px; }
	.hd-site .et_pb_section.hd-s--flush, .hd-site .et_pb_section.hd-show { padding-top: 0; padding-bottom: 24px; }
	.hd-site .et_pb_section.hd-s--flush-top { padding-top: 0; }
	.hd-site .et_pb_section.hd-s--connector { padding: 0; }
	.hd-site .et_pb_section.hd-hero { padding: 56px 0 48px; }
	.hd-site .hd-h1 .et_pb_module_header, .hd-site .hd-h1 h1 { font-size: 52px; }
	.hd-site .hd-h2 .et_pb_module_header, .hd-site .hd-cta .hd-h2 .et_pb_module_header { font-size: 40px; }
	.hd-site .hd-hero .et_pb_row.hd-wrap, .hd-site #liven .et_pb_row.hd-wrap, .hd-site #gallery .et_pb_row.hd-wrap, .hd-site #form .et_pb_row.hd-wrap, .hd-site #story .et_pb_row.hd-wrap, .hd-site #faq .et_pb_row.hd-wrap { row-gap: 40px; }
	.hd-site .et_pb_row.hd-wrap.hd-band { padding: 40px 32px; }
	.hd-site .hd-faq-intro { position: static; }
	.hd-site .hd-switch__products { grid-template-columns: 1fr; }
	.hd-site .hd-right { text-align: left; }
	/* Stacked under the product's description, the "See what ... does" link sits close to it, not a row gap away. */
	.hd-site .et_pb_row.hd-wrap > .et_pb_column.hd-col-end { margin-top: -24px; }
	.hd-site .et_pb_group.hd-devices, .hd-site .et_pb_group.hd-device--browser, .hd-site .et_pb_group.hd-livedemo { width: 100%; max-width: 600px; }
}
@media (max-width: 640px) {
	.hd-site .et_pb_section.hd-s { padding: 56px 0; }
	.hd-site .et_pb_section.hd-s--tight-bottom { padding-bottom: 32px; }
	.hd-site .et_pb_section.hd-s--flush, .hd-site .et_pb_section.hd-show { padding-top: 0; padding-bottom: 24px; }
	.hd-site .et_pb_section.hd-s--flush-top { padding-top: 0; }
	.hd-site .et_pb_section.hd-s--connector { padding: 0; }
	.hd-site .et_pb_section.hd-hero { padding: 40px 0 40px; }
	.hd-site .hd-h1 .et_pb_module_header, .hd-site .hd-h1 h1 { font-size: 40px; }
	.hd-site .hd-h2 .et_pb_module_header, .hd-site .hd-cta .hd-h2 .et_pb_module_header { font-size: 32px; }
	.hd-site .hd-h2--sm .et_pb_module_header { font-size: 28px; }
	.hd-site .hd-lead p { font-size: 18px; }
	.hd-site .hd-copy .hd-statement { font-size: 22px; }
	.hd-site .hd-card, .hd-site .hd-plan { padding: 24px; }
	.hd-site .et_pb_row.hd-wrap.hd-band { padding: 32px 20px; }
	.hd-site .et_pb_group.hd-btn-row { flex-direction: column; align-items: stretch; }
	.hd-site .hd-btn-row .et_pb_button { width: 100%; max-width: none; }
	.hd-site .hd-ticks--grid { grid-template-columns: 1fr; }
	.hd-site .et_pb_group.hd-devices { padding-bottom: 28px; }
	.hd-site .et_pb_group.hd-device--phone { border-radius: 18px; padding: 4px; }
	.hd-site .hd-device--phone img { border-radius: 14px; }
	.hd-site .hd-devices--form .et_pb_group.hd-device--browser + .et_pb_text { margin: -32px 12px 0; }
	.hd-site .et_pb_group.hd-card.hd-livedemo { padding: 28px 24px 32px; }
	.hd-site .hd-compare-table th, .hd-site .hd-compare-table td { padding: 12px; }
	.hd-site .hd-compare-table td { width: auto; }
	.hd-site .hd-yes, .hd-site .hd-no { font-size: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.hd-site * { transition: none !important; scroll-behavior: auto !important; }
}
