:root{--dp-blue:#235fb7;--dp-ink:#203043;--dp-line:#d7e0eb}
html{scroll-behavior:smooth}body{color:var(--dp-ink)}button,a,input{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #e69032;outline-offset:4px}img{max-width:100%}.nav-logo a{display:block}.header-img img{height:auto}
.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;max-width:1100px;margin:auto}.team-grid figure{margin:0;overflow:hidden;border-radius:5px;background:#e9eef4}.team-grid img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center 25%}.service-explanation{padding:10px 0;color:var(--dp-ink)}.service-explanation h4{font-size:22px;font-weight:600;margin:0 0 12px}.service-explanation p{font-size:16px;line-height:1.7;margin-bottom:30px}.service-explanation p:last-child{margin-bottom:0}.sidebar-note{font-size:14px;line-height:1.6;margin-top:44px;color:#465970}.form-input>label{display:block;margin-bottom:12px;font-weight:500}.form-check label{font-size:14px;line-height:1.5}.form-check a{text-decoration:underline}.sidebar .logo{height:auto}
.legal-footer{background:#f0f4f8;color:#263b55;padding:30px 0;font-size:14px;border-top:1px solid var(--dp-line)}.legal-footer .container{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.legal-footer a{color:#174780;text-decoration:underline;text-underline-offset:3px}.legal-footer nav{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.legal-footer button{border:0;background:none;color:#174780;padding:0;text-decoration:underline;text-underline-offset:3px}.legal-footer p{margin:0;width:100%;font-size:12px;color:#526478}
.cookie-notice{position:fixed;bottom:20px;left:20px;right:20px;z-index:2000;max-width:1120px;margin:auto;background:#fff;border:1px solid #c7d4e4;border-radius:12px;box-shadow:0 8px 40px #17375d26;padding:24px;display:flex;gap:24px;align-items:center}.cookie-notice[hidden]{display:none}.cookie-notice h2,.cookie-dialog h2{font:600 20px/1.35 Poppins,sans-serif;margin:0 0 10px;color:var(--dp-ink)}.cookie-notice p,.cookie-dialog p{font-size:14px;line-height:1.65;margin:0}.cookie-notice a,.cookie-dialog a{color:#174780;text-decoration:underline}.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch}.cookie-notice .cookie-actions{flex:0 0 380px}.privacy-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--dp-blue);border-radius:5px;background:var(--dp-blue);color:white;padding:12px 16px;font:500 14px/1.4 Poppins,sans-serif;text-decoration:none;cursor:pointer;min-height:44px}.privacy-button:hover{background:#174780;border-color:#174780;color:white;text-decoration:none}.cookie-notice .privacy-button{flex:1 1 45%}.cookie-notice .privacy-secondary{flex:1 1 100%}.privacy-secondary{background:white;color:var(--dp-blue)}.privacy-secondary:hover{background:#edf3fc;color:#174780}.cookie-dialog{width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid var(--dp-line);border-radius:12px;padding:28px;color:var(--dp-ink);background:#fff}.cookie-dialog::backdrop{background:#14243bcc}.cookie-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.cookie-dialog-heading button{padding:0 8px;background:none;border:0;font-size:30px;line-height:1;color:#354e6d;min-width:44px;min-height:44px}.cookie-option{display:flex;gap:24px;align-items:center;justify-content:space-between;border-block-end:1px solid var(--dp-line);padding:22px 0;margin:0}.cookie-option p{margin-top:5px}.cookie-option span{flex:0 0 auto;font-size:12px;color:#526478}.cookie-option input{width:24px;height:24px;accent-color:var(--dp-blue);flex:0 0 24px}.cookie-dialog .cookie-actions{margin:24px 0 20px}.cookie-dialog .cookie-actions button{flex:1 1 auto}.privacy-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.legal-page{max-width:900px;padding:48px 24px 64px;margin:auto}.legal-page>.legal-logo{display:block;margin-bottom:44px}.legal-page>.legal-logo img{width:200px}.legal-page h1{font-size:clamp(30px,4vw,42px);line-height:1.2;color:var(--dp-blue);margin-bottom:18px}.legal-page h2,.modal-body h2{font-size:22px;line-height:1.4;margin-top:32px;margin-bottom:12px;color:var(--dp-ink)}.legal-page p,.modal-body p{font-size:15px;line-height:1.85;margin-bottom:16px}.legal-date{color:#65768a}.legal-page a{color:#174780}.legal-page a.privacy-button{color:#fff}.cookie-table-wrap{overflow-x:auto;margin:20px 0}.cookie-table{border-collapse:collapse;width:100%;font-size:14px}.cookie-table td,.cookie-table th{padding:14px 12px;border:1px solid var(--dp-line);text-align:left;vertical-align:top}.cookie-table th{background:#eef3f9}.cookie-table td:first-child{white-space:nowrap;font-family:monospace}.modal-inner-content h1{font-size:26px}.modal-inner-content p{color:var(--dp-ink)}
.confirmation{padding:40px 24px 64px;max-width:900px;min-height:80vh}.confirmation-panel{padding:40px 0}.confirmation h1{font-size:clamp(30px,4vw,44px);line-height:1.2;color:var(--dp-blue);margin:20px 0}.confirmation h2{font-size:24px;margin-top:32px}.confirmation p,.confirmation li{font-size:17px;line-height:1.8}.confirmation ol{padding-left:24px;margin:20px 0 32px}.confirmation li{padding-left:8px;margin:12px 0}.confirmation-mark{display:inline-flex;width:56px;height:56px;align-items:center;justify-content:center;border-radius:50%;background:#e8f2ed;color:#25734a;font-size:32px}
@media(max-width:767px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cookie-notice{left:12px;right:12px;bottom:12px;padding:20px;display:block;max-height:calc(100dvh - 24px);overflow:auto}.cookie-notice .cookie-actions{margin-top:16px}.cookie-notice h2{font-size:18px}.cookie-notice p{font-size:13px}.cookie-dialog{padding:22px}.cookie-dialog .cookie-actions{flex-direction:column}.cookie-option{gap:16px}.legal-footer nav{gap:18px}.legal-page{padding-top:28px}.sidebar-note{margin-top:16px}.form-check label{font-size:13px}.section2 .sec2-txt{text-align:left}.service-explanation{padding-top:22px}.confirmation p,.confirmation li{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important}}
.sidebar .logo{width:180px;height:auto}.privacy-button{height:auto;text-transform:none;min-width:0}.privacy-button:hover,.cookie-dialog button:hover,.legal-footer button:hover{transform:none}.legal-footer button{min-width:0;height:auto;min-height:44px;font:inherit;border-radius:0;text-transform:none}.cookie-dialog-heading button{height:44px;border-radius:4px}.cookie-notice,.cookie-dialog{font-family:Poppins,sans-serif}.legal-page a.privacy-button{color:#fff}
@media(max-width:768px){.sidebar-note{display:none}.sidebar>a{display:block}.sidebar .logo{width:160px;height:auto}}

/* Responsive alignment: preserve the supplied identity and correct its geometry. */
.team-carousel { --team-gap: 24px; max-width: 1100px; margin-inline: auto; text-align: center; }
.team-viewport { overflow-x: auto; overscroll-behavior-x: contain; }
.team-viewport:focus-visible { outline: 3px solid #e69032; outline-offset: 4px; }
.team-track,.team-group { display: flex; flex-wrap: nowrap; gap: var(--team-gap); width: max-content; }
.team-group { flex: 0 0 auto; }
.team-group figure { flex: 0 0 auto; width: clamp(160px, 22vw, 257px); margin: 0; overflow: hidden; border-radius: 5px; background: #e9eef4; }
.team-group img { display: block; width: 100%; height: auto; aspect-ratio: 3/4; object-fit: cover; object-position: center 25%; }
.team-repeat { display: none; }
.team-carousel[data-animated] .team-viewport { overflow: hidden; }
.team-carousel[data-animated] .team-repeat { display: flex; }
.team-carousel[data-animated] .team-track { animation: team-scroll 28s linear infinite; }
@keyframes team-scroll { to { transform: translateX(calc(-50% - var(--team-gap) / 2)); } }
@media (prefers-reduced-motion: reduce) {
  .team-carousel .team-track { animation: none !important; }
  .team-carousel .team-viewport { overflow-x: auto; }
  .team-carousel .team-repeat { display: none; }
}
.footer-brand { display: inline-flex; align-items: center; min-height: 44px; }
.footer-brand img { display: block; width: 136px; height: auto; }
.agency-credit { width: 100%; display: flex; justify-content: center; padding-top: 4px; }
.agency-credit-link { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 8px; }
.agency-credit-logo {
  display: block;
  width: 80px;
  aspect-ratio: 8162 / 2799;
  background-color: var(--dp-blue);
  opacity: .4;
  -webkit-mask: url('/assets/img/doutores-do-marketing.png') center / contain no-repeat;
  mask: url('/assets/img/doutores-do-marketing.png') center / contain no-repeat;
}
.landing-page .cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  height: auto;
  max-width: 100%;
  padding: 12px 24px;
  line-height: 1.4;
  text-align: center;
  text-wrap: balance;
  vertical-align: middle;
}
.landing-page .cta:hover,
.landing-page .nav-menu ul li button:hover { transform: none; }
.landing-page .header-txt h1 {
  font-size: clamp(36px, 5.8vw, 80px);
  line-height: 1.08;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.landing-page .header-txt h4 {
  max-width: 30ch;
  font-size: clamp(18px, 1.8vw, 24px);
  line-height: 1.45;
  margin-top: 24px;
}
.landing-page #preform { padding: clamp(24px, 4vw, 48px); }
.landing-page #preform h3 {
  max-width: 32ch;
  margin: 0 auto;
  font-size: clamp(23px, 2.4vw, 32px);
  line-height: 1.25;
  text-wrap: balance;
}
.landing-page #preform h5 {
  max-width: 44ch;
  margin: 12px auto 0;
  font-size: clamp(16px, 1.6vw, 20px);
  line-height: 1.5;
}
.landing-page #preform .form-slider { width: 100%; max-width: 700px; margin: 24px auto 0; }
.landing-page #preform .value-display { line-height: 1.25; margin-bottom: 12px; }
.landing-page #preform button { margin-top: 28px; }
.landing-page .time-box {
  position: static;
  justify-content: center;
  gap: 8px;
  margin-top: 16px;
}
.landing-page .time-box svg { width: 20px; height: 20px; scale: 1; animation: none; flex-shrink: 0; }
.landing-page .time-box h6 { font-size: 13px; line-height: 1.5; }
.landing-page .partner-wrapper { margin-top: 48px; }
.landing-page .partner-outer {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 112px;
  padding: 16px 24px;
}
.landing-page .partner-outer img { width: 180px; height: 64px; max-width: 100%; object-fit: contain; }
.landing-page .section1 > .container > .row:last-child .cta { margin-top: 24px; }
.landing-page .section1 { padding-bottom: 32px; }
.landing-page .section2 { padding: clamp(48px, 6vw, 80px) 0; }
.service-layout {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.35fr);
  align-items: start;
  gap: 32px clamp(32px, 5vw, 64px);
  max-width: 1100px;
  margin: 0 auto;
  text-align: left;
}
.service-intro h2 {
  margin: 0;
  color: var(--dp-ink);
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.service-intro h2 span { display: block; }
.service-intro h2 span:first-child { color: var(--dp-blue); }
.service-layout .service-explanation { display: grid; gap: 32px; padding: 0; min-width: 0; }
.service-step h3 {
  margin: 0 0 12px;
  font-size: clamp(20px, 1.8vw, 24px);
  font-weight: 600;
  line-height: 1.4;
  text-wrap: balance;
}
.service-step p { margin: 0; max-width: 52ch; font-size: 16px; line-height: 1.75; }
.service-cta { grid-column: 2; }
.landing-page .section3 { padding: 24px 0 64px; }
.landing-page .sec3-title { margin-bottom: 32px; }
.landing-page .sec3-title h3 {
  max-width: 28ch;
  margin: 0 auto;
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.2;
  letter-spacing: -.02em;
  text-wrap: balance;
}
.landing-page .sec3-cta { margin-top: 32px; }
.landing-page .footer > .container > .row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 32px;
  margin: 0;
}
.landing-page .footer-txt,.landing-page .footer-cta { width: auto; max-width: none; padding: 0; margin: 0; text-align: left; }
.landing-page .footer-txt h3 { max-width: 28ch; font-size: clamp(26px, 2.7vw, 36px); line-height: 1.3; text-wrap: balance; }
.landing-page .footer-cta .cta { min-width: 0; white-space: nowrap; }

/* Keep field labels, option text and actions on a shared edge. */
#contactform h3 { line-height: 1.25; }
#contactform h5 { line-height: 1.5; }
#contactform .input-box { align-items: flex-start; gap: 24px; }
#contactform .form-input > label:not(.error) { margin-bottom: 8px; font-size: 14px; font-weight: 500; line-height: 1.5; }
#contactform .form-input input { min-height: 48px; line-height: 1.5; }
#contactform .form-input input:focus-visible { outline: 3px solid #e69032 !important; outline-offset: 3px; }
#contactform .form-input input::placeholder { color: #65768a; opacity: 1; }
#contactform .radio-opt { align-items: stretch; }
#contactform .radio-buton label { min-height: 164px; height: 100%; padding: 20px 16px; line-height: 1.4; }
#contactform .radio-buton input:focus-visible + label { outline: 3px solid #e69032; outline-offset: 4px; }
#contactform .radio-copy { display: block; padding: 0; font: inherit; line-height: 1.4; }
#contactform .radio-copy small { display: block; margin-top: 4px; font-size: 12px; font-weight: 400; line-height: 1.4; }
#contactform .form-check { max-width: 624px; text-align: left; margin-top: 24px; }
#contactform .form-check label { padding-left: 28px; font-size: 13px; font-weight: 400; line-height: 1.7; }
#contactform .checkmark { top: 2px; width: 18px; height: 18px; padding: 0; }
#contactform .checkmark::after { line-height: 16px !important; margin: 0 !important; }
#contactform .next,#contactform .form-button { min-height: 48px; height: auto; max-width: 100%; padding: 12px 24px; line-height: 1.4; }
#contactform button:hover { transform: none; }

@media (max-width: 991px) {
  #contactform .radio-buton { width: 100%; max-width: 440px; }
  #contactform .radio-buton label { min-height: 88px; height: auto; padding: 16px 48px 16px 20px; gap: 16px; text-align: left; }
  #contactform .radio-buton label img { height: 40px; width: 40px; object-fit: contain; flex-shrink: 0; margin: 0; }
}
@media (min-width: 768px) and (max-width: 991px) {
  .landing-page .header .hero .row { align-items: center; }
  .landing-page .header-txt { flex: 0 0 55%; max-width: 55%; margin-top: 0; text-align: left; }
  .landing-page .header .hero .row > :last-child { flex: 0 0 45%; max-width: 45%; }
  .landing-page .header-img { height: 480px; }
  .landing-page .header-img img { width: 100%; max-width: 440px; height: auto; margin: 0; }
}
@media (max-width: 767px) {
  .team-carousel { --team-gap: 14px; }
  .team-group figure { width: clamp(145px, calc((100vw - 38px) / 2), 260px); }
  .landing-page .header-txt { text-align: center; }
  .landing-page .header-txt h1 { max-width: 14ch; margin-inline: auto; }
  .landing-page .header-txt h4 { max-width: 32ch; margin: 16px auto 0; }
  .landing-page .partner-wrapper { margin-top: 32px; }
  .landing-page .partner-outer { min-height: 88px; padding: 12px 16px; }
  .landing-page .partner-outer img { height: 56px; }
  .landing-page .section1 { padding-bottom: 16px; }
  .service-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-inline: 12px; text-align: center; }
  .service-intro h2 { max-width: 22ch; margin-inline: auto; }
  .service-layout .service-explanation { gap: 28px; }
  .service-step h3 { text-wrap: balance; }
  .service-step p { margin-inline: auto; }
  .service-cta { grid-column: 1; text-align: center; }
  .landing-page .section3 { padding-top: 16px; }
  .landing-page .footer > .container > .row { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-inline: 12px; }
  .landing-page .footer-txt,.landing-page .footer-cta { text-align: center; }
  .landing-page .footer-txt h3 { max-width: 28ch; margin-inline: auto; }
  .legal-footer .container { flex-direction: column; justify-content: center; text-align: center; gap: 16px; }
  .legal-footer nav { justify-content: center; }
  .agency-credit { padding-top: 0; }
  .agency-credit-logo { width: 72px; }
  .cookie-notice { text-align: center; }
  #contactform .form-input > label,#contactform .form-input input { text-align: center; }
  #contactform .radio-buton label { justify-content: center; text-align: center; padding-inline: 36px; }
  #contactform .form-check { margin-inline: auto; }
}
@media (max-width: 390px) {
  .landing-page .header-txt h1 { font-size: clamp(31px, 9.2vw, 36px); }
  .landing-page .cta { font-size: 14px; padding-inline: 20px; }
  .landing-page #preform { padding: 28px 20px; }
}
