@font-face { font-family: Inter; src: url("fonts/inter.ttf") format("truetype"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: Poppins; src: url("fonts/poppins-bold.ttf") format("truetype"); font-weight: 700 900; font-style: normal; font-display: swap; }
:root { --ink: #14171c; --muted: #646b75; --surface: #f6f7f9; --line: #e4e6e9; }
h1, h2, h3, .footer-brand { font-family: var(--heading-font, var(--font)); font-weight: 700; }
.site-header { background: #fff; }
.header-inner { min-height: 84px; gap: 24px; }
.reference-logo { display: block; width: 178px; flex-shrink: 0; }
.reference-logo .custom-logo { width: 100%; max-height: 62px; object-fit: contain; }
#primary-nav { gap: 20px; }
#primary-nav .menu { gap: 22px; }
#primary-nav .menu a { font-size: 14px; font-weight: 550; }
.header-phone { background: transparent; color: var(--ink); font-size: 13px; padding: 8px 0; gap: 9px; white-space: nowrap; }
.header-phone > span { order: -1; color: var(--accent); width: 17px; }
.whatsapp-button { background: #25cf67; color: #102719; box-shadow: 0 5px 18px #1cb95820; }
.whatsapp-button > span { display: none; }
.floating-whatsapp { position: fixed; right: 24px; bottom: 24px; width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; background: #159447; color: #fff; box-shadow: 0 7px 25px #08251625; z-index: 26; }
.icon-message { mask-image: url("icons/message.svg"); width: 28px; height: 28px; }
.floating-whatsapp:hover { background: #116f37; }
.dsp-reference-home .section { padding: 76px 0; }
.dsp-reference-home .wrap { width: calc(100% - 96px); max-width: 1180px; }
.dsp-reference-home h2 { font-size: 35px; line-height: 1.24; }
.dsp-reference-home .eyebrow { justify-content: center; color: var(--accent); font-size: 11px; margin-bottom: 14px; }
.dsp-reference-home .eyebrow::before { display: none; }
.dsp-reference-home .section-heading { display: block; max-width: 790px; margin: 0 auto 36px; text-align: center; }
.dsp-reference-home .section-heading h2 { max-width: none; margin-bottom: 16px; }
.dsp-reference-home .section-heading .section-text { margin-inline: auto; max-width: 720px; }
.dsp-reference-home .section-text { font-size: 16px; line-height: 1.8; }
.dsp-reference-home .button { border-radius: 7px; font-size: 13px; min-height: 48px; padding: 13px 20px; gap: 15px; }
.dsp-reference-home .reference-hero { padding: 42px 0; min-height: 0; }
.reference-hero .hero-image { object-position: center; }
.reference-hero .hero-shade { background: linear-gradient(100deg, #101216d9 0%, #10121699 43%, #10121633 85%); }
.reference-hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: 50px; align-items: center; }
.reference-hero:not(.has-quote) .reference-hero-grid { grid-template-columns: 1fr; }
.reference-hero .hero-content h1 { font-size: 48px; line-height: 1.16; max-width: 620px; margin-bottom: 24px; text-wrap: initial; }
.reference-hero .hero-content .section-text { color: #e4e7ea; font-size: 16px; line-height: 1.8; max-width: 560px; }
.hero-highlight { color: #ff5b69; }
.hero-motto { font-family: Georgia, serif; font-style: italic; color: #ff9ba4; font-size: 21px; margin-bottom: 15px; }
.hero-proof { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 650; background: #ffffff12; border: 1px solid #ffffff35; padding: 9px 13px; border-radius: 6px; margin-bottom: 25px; }
.hero-proof .icon { width: 17px; height: 17px; color: #9de5b9; }
.hero-google-review { display: inline-flex; align-items: center; width: fit-content; max-width: 100%; gap: 12px; margin: 0 0 24px; padding: 13px 18px; color: #fff; background: #11161c5c; border: 1px solid #ffffff40; border-radius: 999px; box-shadow: 0 8px 24px #0002; backdrop-filter: blur(7px); text-decoration: none; }
.hero-google-review:hover, .hero-google-review:focus-visible { color: #fff; background: #11161c82; border-color: #ffffff70; }
.hero-google-stars { flex: 0 0 auto; color: #ffb800; font-size: 18px; line-height: 1; letter-spacing: 0; white-space: nowrap; }
.hero-google-review strong { color: #fff; font-size: 15px; line-height: 1.3; white-space: nowrap; }
.hero-google-link { color: #ff6b77; font-size: 14px; font-weight: 750; line-height: 1.3; white-space: nowrap; }
.hero-google-review:hover .hero-google-link, .hero-google-review:focus-visible .hero-google-link { color: #ff929b; }
.reference-hero .hero-content .actions { gap: 12px; margin-top: 24px; }
.hero-points { display: flex; flex-wrap: wrap; padding: 0; margin: 24px 0 0; gap: 14px 20px; list-style: none; }
.hero-points li { display: flex; align-items: center; gap: 7px; font-size: 11px; color: #f3f4f5; }
.hero-points .icon { width: 17px; height: 17px; flex-shrink: 0; }
.reference-quote { color: var(--ink); background: #fff; padding: 26px; border-radius: 8px; box-shadow: 0 15px 40px #0002; scroll-margin-top: 24px; }
.dsp-reference-home .reference-quote h2 { font-size: 22px; line-height: 1.3; margin: 0 0 8px; }
.reference-quote .quote-intro { color: var(--muted); font-size: 13px; line-height: 1.6; margin-bottom: 20px; }
.reference-quote .quote-form { background: none; border: 0; padding: 0; box-shadow: none; }
.reference-quote .quote-note { color: var(--muted); font-size: 11px; line-height: 1.5; margin: 13px 0 0; }
.reference-quote .wpforms-field-label { font-size: 12px!important; margin-bottom: 7px!important; }
.reference-quote div.wpforms-container input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]), .reference-quote div.wpforms-container select { min-height: 43px; font-size: 14px; width: 100%; }
#hero-quote div.wpforms-container textarea { min-height: 88px!important; height: 88px!important; font-size: 14px; width: 100%; }
.reference-quote div.wpforms-container button.wpforms-submit { width: 100%; min-height: 46px; padding: 12px 20px!important; }
.reference-quote .wpforms-submit-container { padding-top: 14px!important; }
.reference-quote .wpforms-field { padding-block: 8px!important; }
.reference-quote.is-compact .wpforms-field-container { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; }
.reference-quote.is-compact .wpforms-field-container > .wpforms-field { width: auto!important; margin: 0!important; float: none!important; padding: 0!important; min-width: 0; }
.reference-quote.is-compact .wpforms-field-textarea, .reference-quote.is-compact .wpforms-field-address, .reference-quote.is-compact .wpforms-field-radio, .reference-quote.is-compact .wpforms-field-checkbox, .reference-quote.is-compact .wpforms-field-layout { grid-column: 1 / -1; }
.reference-quote .wpforms-error { font-size: 11px!important; }
.dsp-reference-home .ref-facts { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; list-style: none; }
.dsp-reference-home .ref-facts li { display: flex; gap: 12px; align-items: center; }
.ref-facts .icon { color: var(--accent); width: 25px; height: 25px; flex-shrink: 0; }
.ref-facts strong, .ref-facts span:not(.icon) { display: block; }
.ref-facts strong { font-size: 13px; }
.ref-facts div > span { font-size: 11px; color: var(--muted); }
.dsp-reference-home .ref-facts h2 { font-size: 24px; }
.dsp-reference-home #advantages { padding: 28px 0; border-bottom: 1px solid var(--line); }
.dsp-reference-home #badge { background: #f3f5f6; }
.trust-badge-panel { display: grid; grid-template-columns: minmax(220px,.62fr) minmax(0,1.38fr); gap: clamp(38px,6vw,84px); align-items: center; padding: clamp(32px,5vw,58px); background: #fff; border: 1px solid #e1e5e8; border-radius: 8px; box-shadow: 0 16px 42px #14171c0d; }
.trust-badge-media { text-align: center; }
.trust-badge-media a { display: inline-block; }
.trust-badge-media img { display: block; width: min(235px,100%); height: auto; margin: 0 auto; }
.trust-badge-copy .eyebrow { justify-content: flex-start; margin-bottom: 13px; }
.trust-badge-copy h2 { margin-bottom: 16px; font-size: clamp(28px,3vw,40px); }
.trust-badge-copy .section-text { max-width: 780px; color: var(--muted); }
.trust-badge-criteria { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 30px; padding: 0; margin: 26px 0 24px; list-style: none; }
.trust-badge-criteria li { display: flex; align-items: flex-start; gap: 10px; min-width: 0; font-size: 14px; line-height: 1.55; }
.trust-badge-criteria .ref-icon { flex: 0 0 19px; width: 19px; height: 19px; margin-top: 2px; color: var(--accent); background: currentColor; }
.trust-badge-copy .button-text { min-height: 42px; padding-inline: 0; color: var(--accent); background: transparent; border: 0; }
.trust-badge-facts { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 16px; margin-top: 26px; }
.trust-badge-facts article { min-width: 0; padding: 24px 16px; text-align: center; background: #fff; border: 1px solid #e1e5e8; border-radius: 8px; box-shadow: 0 8px 22px #14171c09; }
.trust-fact-icon { display: grid; place-items: center; width: 42px; height: 42px; margin: 0 auto 14px; color: var(--accent); }
.trust-fact-icon .ref-icon { width: 27px; height: 27px; color: inherit; background: currentColor; }
.trust-badge-facts h3 { margin: 0 0 8px; color: #15191d; font-size: 15px; line-height: 1.4; }
.trust-badge-facts p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.ref-team-image { width: 100%; height: auto; max-height: 480px; object-fit: contain; border-radius: 8px; }
.ref-kind-banner .section-action { text-align: center; }
.dsp-reference-home #services, .dsp-reference-home #process, .dsp-reference-home #zones, .dsp-reference-home #video, .dsp-reference-home #articles { background: var(--surface); }
.dsp-reference-home .service-grid { gap: 22px; }
.dsp-reference-home .service-card { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 28px; box-shadow: 0 3px 10px #14171c04; transition: border-color .2s, box-shadow .2s; overflow: hidden; }
.dsp-reference-home .service-card:hover { border-color: #e2a0a5; box-shadow: 0 8px 24px #14171c09; }
.service-icon { display: grid; place-items: center; width: 48px; height: 48px; background: #fff0f1; color: var(--accent); border-radius: 7px; margin-bottom: 20px; }
.service-icon .icon { width: 27px; height: 27px; }
.dsp-reference-home .service-copy { padding: 0; }
.dsp-reference-home .service-copy h3 { font-size: 20px; min-height: 0; margin-bottom: 12px; }
.dsp-reference-home .service-copy p { font-size: 14px; line-height: 1.7; margin-bottom: 20px; }
.dsp-reference-home .service-copy .button { color: var(--accent); border: 0; padding: 5px 0; min-height: 40px; justify-content: flex-start; width: auto; font-size: 13px; }
.dsp-reference-home .service-media { margin: -28px -28px 22px; border-radius: 0; }
.ref-feature { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 58px; align-items: center; }
.ref-feature .eyebrow { justify-content: flex-start; }
.ref-feature-image { min-width: 0; }
.ref-feature-image img { width: 100%; height: 440px; object-fit: cover; border-radius: 8px; }
.ref-feature-image:empty { display: none; }
.ref-feature:has(.ref-feature-image:empty) { grid-template-columns: 1fr; }
.ref-feature h2 { font-size: 33px; }
.ref-checklist { list-style: none; padding: 0; margin: 22px 0 26px; }
.ref-checklist li { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 13px; font-size: 14px; line-height: 1.65; }
.ref-checklist .icon { color: var(--accent); flex-shrink: 0; width: 19px; height: 19px; margin-top: 3px; }
.dsp-reference-home #zones .ref-feature-image { order: 2; }
.dsp-reference-home #zones { color: var(--ink); }
.dsp-reference-home .section-steps .steps { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; }
.dsp-reference-home .section-steps .steps li { border: 0; padding-top: 0; }
.dsp-reference-home .section-steps .steps li::before { display: none; }
.dsp-reference-home .step-number { display: grid; place-items: center; width: 42px; height: 42px; font-size: 18px; font-weight: 700; border-radius: 50%; background: var(--accent); color: #fff; margin: 0 0 18px; }
.dsp-reference-home .steps h3 { font-size: 18px; line-height: 1.35; }
.dsp-reference-home .steps p { font-size: 14px; line-height: 1.75; }
.ref-pricing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 950px; margin: 0 auto; gap: 26px; }
.ref-price { border: 1px solid var(--line); padding: 30px; border-radius: 8px; }
.ref-price:has(.price-badge) { border: 2px solid var(--accent); }
.price-badge { color: var(--accent); font-size: 12px; font-weight: 700; }
.price-amount { color: var(--accent); font-size: 38px; font-weight: 750; margin-bottom: 12px; }
.price-amount small { color: var(--muted); font-size: 15px; }
.pricing-note { margin: 24px auto 0; max-width: 950px; color: var(--muted); font-size: 13px; }
.ref-review-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.ref-review { margin: 0; border: 1px solid var(--line); padding: 26px; border-radius: 8px; }
.ref-review blockquote { margin: 0; font-size: 15px; }
.ref-review figcaption { font-weight: 700; font-size: 13px; }
.review-rating { color: #805300; font-weight: 700; }
.ref-kind-reviews .section-action, .ref-kind-video .section-action { text-align: center; }
.ref-kind-video video { width: 100%; max-height: 580px; background: #14171c; border-radius: 8px; }
.video-transcript { max-width: 850px; margin: 24px auto; font-size: 15px; }
.dsp-reference-home .section-faq .wrap { display: block; }
.dsp-reference-home .section-faq h2 { max-width: none; }
.dsp-reference-home .faq-list { max-width: 850px; margin: 0 auto; }
.dsp-reference-home .faq-list details { border: 1px solid var(--line); border-radius: 7px; margin-bottom: 12px; padding-inline: 22px; background: #fff; }
.dsp-reference-home .faq-list details[open] { border-color: #e2a0a5; background: #fff9f9; }
.dsp-reference-home .faq-list summary { font-size: 15px; padding-block: 20px; }
.dsp-reference-home .section-cta { background: #14171c; text-align: center; color: #fff; }
.dsp-reference-home .section-cta .wrap { display: block; }
.dsp-reference-home .section-cta .section-heading { margin-inline: auto; }
.dsp-reference-home .section-cta .section-action { margin-top: 28px; }
.dsp-reference-home .section-cta .button { background: var(--accent); color: #fff; }
.dsp-reference-home .section-cta .eyebrow { color: #ff9ba4; }
.site-footer { background: #101216; }
.footer-grid { grid-template-columns: 1.2fr 1fr .8fr 1.1fr; gap: 40px; }
.footer-services { list-style: none; padding: 0; margin: 0; }
.footer-services li { margin-bottom: 12px; font-size: 12px; }
.footer-services a { text-decoration: none; color: #e6e6e9; }
.footer-services a:hover { text-decoration: underline; }
@media (max-width: 1100px) {
  #primary-nav { gap: 14px; }
  #primary-nav .menu { gap: 14px; }
  #primary-nav .menu a { font-size: 13px; }
  .reference-logo { width: 155px; }
  .reference-hero-grid { gap: 30px; }
  .reference-hero .hero-content h1 { font-size: 42px; }
  .dsp-reference-home .wrap { width: calc(100% - 56px); }
  .ref-feature { gap: 34px; }
}
@media (max-width: 900px) {
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
  #primary-nav .header-phone { justify-content: flex-start; }
  #primary-nav .nav-cta { width: 100%; }
  .dsp-reference-home .reference-hero { padding: 36px 0; }
  .reference-hero-grid { grid-template-columns: 1fr; gap: 32px; }
  .reference-hero .hero-content { max-width: 650px; }
  .reference-hero .hero-content h1 { max-width: 620px; }
  .reference-quote { max-width: 680px; width: 100%; justify-self: center; }
  .dsp-reference-home .ref-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .dsp-reference-home .section-steps .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
  .ref-feature-image img { height: 380px; }
  .ref-review-grid { grid-template-columns: 1fr; }
  .trust-badge-panel { grid-template-columns: 1fr; }
  .trust-badge-media img { width: min(205px,100%); }
  .trust-badge-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .footer-grid { grid-template-columns: 1fr; }
  .dsp-reference-home .mobile-actions .button { min-height: 48px; padding: 10px; gap: 7px; font-size: 11px; }
  .reference-hero .hero-image { object-position: 18% center; }
  .header-inner { min-height: 76px; }
  .reference-logo { width: 164px; }
  .dsp-reference-home .wrap { width: calc(100% - 36px); }
  .dsp-reference-home .section { padding: 48px 0; }
  .dsp-reference-home .reference-hero { padding: 32px 0; }
  .reference-hero .hero-content h1 { font-size: 36px; line-height: 1.17; }
  .reference-hero .hero-content .section-text { font-size: 15px; line-height: 1.75; }
  .hero-motto { font-size: 19px; }
  .hero-proof { font-size: 11px; margin-bottom: 20px; padding: 7px 10px; }
  .hero-google-review { display: grid; grid-template-columns: auto minmax(0, 1fr); width: 100%; max-width: 360px; gap: 7px 10px; margin-bottom: 20px; padding: 11px 14px; border-radius: 12px; }
  .hero-google-stars { font-size: 15px; }
  .hero-google-review strong { min-width: 0; font-size: 12px; white-space: normal; }
  .hero-google-link { grid-column: 1 / -1; padding-left: 1px; font-size: 12px; white-space: normal; }
  .hero-points { gap: 10px; margin-top: 20px; }
  .hero-points li { font-size: 11px; }
  .reference-quote { padding: 22px 18px; }
  .reference-quote.is-compact .wpforms-field-container { gap: 14px 10px; }
  .dsp-reference-home h2, .dsp-reference-home .ref-feature h2 { font-size: 28px; }
  .dsp-reference-home .section-heading { margin-bottom: 28px; }
  .dsp-reference-home .section-text { font-size: 15px; }
  .ref-facts strong { font-size: 12px; }
  .ref-facts div > span { font-size: 10px; }
  .ref-facts .icon { width: 21px; height: 21px; }
  .ref-facts li { gap: 8px; }
  .ref-feature { grid-template-columns: 1fr; gap: 28px; }
  .ref-feature-image img { height: 320px; }
  .dsp-reference-home #zones .ref-feature-image { order: 0; }
  .dsp-reference-home .service-card { padding: 24px; }
  .dsp-reference-home .service-media { margin: -24px -24px 20px; }
  .dsp-reference-home .service-copy h3 { font-size: 20px; }
  .dsp-reference-home .section-steps .steps { grid-template-columns: 1fr; }
  .ref-pricing-grid { grid-template-columns: 1fr; }
  .ref-price { padding: 24px; }
  .trust-badge-panel { padding: 26px 20px; gap: 28px; }
  .trust-badge-copy .eyebrow { justify-content: center; }
  .trust-badge-copy { text-align: center; }
  .trust-badge-criteria { grid-template-columns: 1fr; text-align: left; }
  .trust-badge-facts { grid-template-columns: 1fr; }
  .trust-badge-facts article { display: grid; grid-template-columns: 42px minmax(0,1fr); column-gap: 14px; text-align: left; align-items: center; }
  .trust-fact-icon { grid-row: 1 / 3; margin: 0; }
  .trust-badge-facts h3, .trust-badge-facts p { grid-column: 2; }
  .dsp-reference-home .faq-list details { padding-inline: 16px; }
  .floating-whatsapp { width: 46px; height: 46px; right: 14px; bottom: 86px; }
}
@media (max-width: 360px) {
  .reference-hero .hero-content h1 { font-size: 31px; }
  .reference-quote.is-compact .wpforms-field-container { grid-template-columns: 1fr; }
  .hero-google-review { padding: 10px 12px; gap: 6px 8px; }
}
