.hero { overflow: hidden; padding-top: 48px; }
.hero__grid {
    min-height: 510px; display: grid;
    grid-template-columns: minmax(0,1.05fr) minmax(420px,.95fr);
    align-items: center; gap: 56px;
}
.hero__content { position: relative; z-index: 2; padding-block: 40px 72px; }
.hero__title {
    margin: 0; color: var(--color-heading); font-family: var(--font-heading);
    font-size: 50px; line-height: 1.03; letter-spacing: -.035em;
}
.hero__title span { color: var(--color-accent); }
.hero__description { max-width: 610px; margin: 24px 0 0; color: var(--color-muted); font-size: 18px; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.hero__visual { align-self: end; position: relative; }
.hero__visual img { width: 100%; max-height: 540px; object-fit: contain; object-position: center bottom; }

.trusted {
    padding: 0 0 24px;
    background: #fff;
}

.trusted__box {
    background: var(--color-surface);
    border-block: 1px solid #f0f1f3;
}

.trusted__title {
    margin: 0;
    padding: 18px 0 14px;
    color: var(--color-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-align: center;
    text-transform: uppercase;
}

.solutions { padding-top: 42px; }
.solutions__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.solution-card {
    display: flex; min-height: 100%; flex-direction: column; padding: 30px;
    background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius);
    box-shadow: var(--shadow-card);
}
.solution-card__icon {
    display: grid; width: 52px; height: 52px; place-items: center; margin-bottom: 20px;
    color: #fff; background: var(--color-accent); border-radius: 50%;
}
.solution-card h3 {
    margin: 0 0 14px; color: var(--color-heading); font-family: var(--font-heading);
    font-size: 23px; line-height: 1.12;
}
.solution-card p:not(.solution-card__label) { margin: 0 0 18px; color: var(--color-muted); font-size: 15px; }
.check-list { margin: 0 0 24px; padding: 0; list-style: none; }
.check-list li { position: relative; padding-left: 25px; font-size: 14px; }
.check-list li + li { margin-top: 8px; }
.check-list li::before {
    content: "✓"; position: absolute; top: 1px; left: 0; display: grid;
    width: 17px; height: 17px; place-items: center; color: #fff;
    background: var(--color-accent); border-radius: 50%; font-size: 11px; font-weight: 700;
}
.solution-card .button { align-self: flex-start; margin-top: auto; }

.testimonials { background: var(--color-surface); }
.testimonials__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.testimonial-card {
    position: relative; padding: 30px; background: #fff; border: 1px solid var(--color-border);
    border-radius: var(--radius); box-shadow: 0 6px 20px rgba(18,25,38,.06);
}
.testimonial-card__quote {
    position: absolute; top: 12px; left: 18px; color: var(--color-accent);
    font-family: Georgia, serif; font-size: 64px; line-height: 1;
}
.testimonial-card blockquote {
    position: relative; margin: 20px 0 26px; color: var(--color-muted); font-size: 15px;
}
.testimonial-card__author { display: flex; align-items: center; gap: 12px; }
.testimonial-card__author strong { display: block; color: var(--color-heading); font-size: 14px; }
.testimonial-card__author span { display: block; color: var(--color-muted); font-size: 12px; line-height: 1.35; }
.avatar-placeholder {
    display: grid; width: 40px; height: 40px; flex: 0 0 auto; place-items: center;
    color: #fff; background: var(--color-primary); border-radius: 50%; font-weight: 700;
}

.resources__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.resource-card { display: flex; min-height: 100%; flex-direction: column; padding: 22px; border: 1px solid var(--color-border); border-radius: 10px; }
.resource-card__heading { display: flex; align-items: center; gap: 10px; }
.resource-card h3 { margin: 0; color: var(--color-heading); font-family: var(--font-heading); font-size: 19px; }
.resource-card p { color: var(--color-muted); font-size: 14px; }
.resource-card__button { align-self: flex-start; margin-top: auto; }

.media-strip { padding-top: 10px; }
.media-strip__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.media-placeholder {
    min-height: 155px; display: flex; flex-direction: column; justify-content: flex-end;
    padding: 18px; color: #fff; background: linear-gradient(135deg,var(--color-primary),var(--color-dark-deep));
    border-radius: 10px; text-decoration: none;
}
.media-placeholder span { font-size: 12px; opacity: .72; }
.media-placeholder strong { font-family: var(--font-heading); font-size: 17px; }

.books { background: var(--color-surface); }
.books__grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 16px; align-items: end; }
.book-placeholder {
    min-height: 235px; display: flex; flex-direction: column; justify-content: flex-end;
    padding: 14px; color: #fff; background: linear-gradient(165deg,var(--color-primary),var(--color-dark-deep));
    border-radius: 5px 10px 10px 5px; box-shadow: 5px 8px 18px rgba(0,0,0,.17);
    text-decoration: none;
}
.book-placeholder span { color: var(--color-accent); font-size: 11px; text-transform: uppercase; }
.book-placeholder strong { font-family: var(--font-heading); font-size: 15px; line-height: 1.2; }


/* Carrossel contínuo de logotipos */
.logo-marquee {
    overflow: hidden;
    width: 100%;
    padding: 8px 0;
}

.logo-marquee__track {
    display: flex;
    width: max-content;
    animation: logo-marquee 72s linear infinite;
}

.logo-marquee__group {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
}

.logo-marquee__item {
    display: grid;
    width: 190px;
    height: 76px;
    flex: 0 0 auto;
    place-items: center;
    padding: 0 24px;
    border-right: 1px solid #d9dde2;
}

.logo-marquee__item img {
    width: 150px;
    height: 60px;
    object-fit: contain;
    filter: grayscale(1);
    opacity: .72;
    transition: filter 180ms ease, opacity 180ms ease;
}

.logo-marquee__item:hover img {
    filter: grayscale(0);
    opacity: 1;
}

.logo-marquee:hover .logo-marquee__track {
    animation-play-state: paused;
}

@keyframes logo-marquee {
    to { transform: translateX(-50%); }
}

.testimonial-card__author img {
    width: 52px;
    height: 52px;
    flex: 0 0 auto;
    object-fit: cover;
    border: 2px solid #fff;
    border-radius: 50%;
    box-shadow: 0 2px 10px rgba(0,0,0,.12);
}

.youtube-card {
    display: block;
    color: var(--color-heading);
    text-decoration: none;
}

.youtube-card__image {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    margin-bottom: 10px;
    background: var(--color-dark-deep);
    border-radius: 10px;
}

.youtube-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 200ms ease;
}

.youtube-card:hover .youtube-card__image img {
    transform: scale(1.025);
}

.youtube-card__play {
    position: absolute;
    top: 50%;
    left: 50%;
    display: grid;
    width: 48px;
    height: 34px;
    place-items: center;
    transform: translate(-50%, -50%);
    color: #fff;
    background: rgba(236,128,0,.94);
    border-radius: 9px;
    font-size: 15px;
    box-shadow: 0 6px 18px rgba(0,0,0,.28);
}

.youtube-card strong {
    display: -webkit-box;
    overflow: hidden;
    color: var(--color-heading);
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.youtube-fallback {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 24px;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
}

.youtube-fallback p {
    margin: 0;
    color: var(--color-muted);
}

.book-card {
    display: block;
    transition: transform 180ms ease;
}

.book-card:hover {
    transform: translateY(-5px);
}

.book-card img {
    width: 100%;
    height: auto;
    border-radius: 4px 9px 9px 4px;
    box-shadow: 6px 10px 20px rgba(0,0,0,.18);
}


.youtube-subscribe {
    display: flex;
    justify-content: center;
    margin-top: 28px;
}

/* Newsletter Brevo adaptada ao design do 4HD */
.newsletter {
    padding: 34px 0 50px;
}

.newsletter-4hd-wrap,
.newsletter-4hd-wrap.sib-form {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    font-family: var(--font-body) !important;
}

.newsletter-4hd-wrap .sib-form-container {
    max-width: none !important;
}

.newsletter-4hd {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr) !important;
    align-items: center !important;
    gap: 30px !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 26px 30px !important;
    direction: ltr !important;
    color: #fff !important;
    background: var(--color-accent) !important;
    border: 0 !important;
    border-radius: 12px !important;
}

.newsletter-4hd__texto {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    color: #fff;
}

.newsletter-4hd__icone {
    display: grid;
    width: 30px;
    height: 30px;
    flex: 0 0 auto;
    place-items: center;
}

.newsletter-4hd__icone .icon {
    width: 30px;
    height: 30px;
}

.newsletter-4hd h2 {
    margin: 0 0 5px !important;
    color: #fff !important;
    font-family: var(--font-heading) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

.newsletter-4hd p {
    margin: 0 !important;
    color: rgba(255,255,255,.92) !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

.newsletter-4hd__form {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 8px 10px !important;
}

.newsletter-4hd__email-block,
.newsletter-4hd__button-block,
.newsletter-4hd__check-block {
    margin: 0 !important;
    padding: 0 !important;
}

.newsletter-4hd__label,
.newsletter-4hd__erro {
    display: none !important;
}

.newsletter-4hd__field,
.newsletter-4hd__field.entry__field {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

.newsletter-4hd__form input[type="text"] {
    width: 100% !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    color: var(--color-text) !important;
    background: #fff !important;
    border: 1px solid transparent !important;
    border-radius: 7px !important;
    outline: none !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
}

.newsletter-4hd__form input[type="text"]:focus {
    border-color: var(--color-heading) !important;
    box-shadow: 0 0 0 3px rgba(21,25,34,.15) !important;
}

.newsletter-4hd__form input::placeholder {
    color: #8a8f96 !important;
}

.newsletter-4hd__button {
    display: inline-flex !important;
    min-width: 145px !important;
    height: 46px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 20px !important;
    color: #fff !important;
    background: transparent !important;
    border: 2px solid #fff !important;
    border-radius: 7px !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    cursor: pointer !important;
}

.newsletter-4hd__button:hover,
.newsletter-4hd__button:focus-visible {
    color: var(--color-accent) !important;
    background: #fff !important;
}

.newsletter-4hd__button .progress-indicator__icon {
    width: 18px !important;
    height: 18px !important;
    margin-right: 8px !important;
    fill: currentColor !important;
}

.newsletter-4hd__check-block {
    grid-column: 1 / -1 !important;
}

.newsletter-4hd__check {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    color: #fff !important;
    font-family: var(--font-body) !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    text-align: left !important;
    cursor: pointer !important;
}

.newsletter-4hd__check .checkbox {
    width: 16px !important;
    min-width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    flex: 0 0 16px !important;
}

.newsletter-4hd__check span:last-child {
    padding: 0 !important;
    color: #fff !important;
}

.newsletter-4hd-wrap .input--hidden {
    display: none !important;
}

.newsletter-4hd-msg {
    max-width: none !important;
    margin: 0 0 10px !important;
    padding: 10px 16px !important;
    border-radius: 8px !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
}

.newsletter-4hd-msg--erro {
    color: #661d1d !important;
    background-color: #ffeded !important;
    border: 1px solid #ff4949 !important;
}

.newsletter-4hd-msg--ok {
    color: #085229 !important;
    background-color: #e7faf0 !important;
    border: 1px solid #13ce66 !important;
}



/* Consentimento: checkbox nativo para evitar conflito com o CSS externo da Brevo. */
.newsletter-4hd__check-block .entry__choice,
.newsletter-4hd__check-block .form__label-row {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.newsletter-4hd__check {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: var(--font-body) !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    cursor: pointer !important;
}

.newsletter-4hd__check input[type="checkbox"] {
    position: static !important;
    display: block !important;
    width: 16px !important;
    min-width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 16px !important;
    opacity: 1 !important;
    visibility: visible !important;
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    accent-color: var(--color-heading) !important;
    clip: auto !important;
    clip-path: none !important;
    overflow: visible !important;
}

.newsletter-4hd__check > span {
    position: static !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    transform: none !important;
}


/* Consentimento fora da estrutura visual da Brevo: duas colunas independentes. */
.newsletter-consent {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: 16px minmax(0, 1fr) !important;
    column-gap: 10px !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.newsletter-consent__input {
    position: static !important;
    display: block !important;
    grid-column: 1 !important;
    width: 16px !important;
    min-width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    accent-color: var(--color-heading) !important;
    transform: none !important;
}

.newsletter-consent__text {
    position: static !important;
    display: block !important;
    grid-column: 2 !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: var(--font-body) !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    text-align: left !important;
    transform: none !important;
}


.page-intro .section-heading {
    max-width: 760px;
    margin-inline: auto;
}

.page-intro .section-heading h1 {
    margin: 0;
    color: var(--color-heading);
    font-family: var(--font-heading);
    font-size: clamp(2.2rem, 4vw, 3.5rem);
    line-height: 1.08;
}

.page-intro .section-heading > p:last-child {
    color: var(--color-muted);
}

/* Padrao global dos botoes da Home */
body > main .button { background:#ec8000 !important; color:#fff !important; border-color:#ec8000 !important; }
body > main .button:hover, body > main .button:focus-visible { background:#fff !important; color:#ec8000 !important; border-color:#ec8000 !important; }
