/* Paletas e componentes usam as mesmas cores nos dois modos. */
:root {
    color-scheme: light;
    --aa-accent: #673ab7;
    --aa-end: #126fbb;
    --aa-link: #6030bd;
    --aa-soft: #f3efff;
    --aa-tint: #ecebfc;
    --aa-page: #ffffff;
    --aa-surface: #ffffff;
    --aa-alt: #f8f9ff;
    --aa-heading: #11183f;
    --aa-text: #555b72;
    --aa-muted: #646b80;
    --aa-line: #e4e6f0;
    --aa-shadow: 0 16px 45px rgb(25 31 73 / 10%);
}
:root[data-palette="ocean"] { --aa-accent: #006879; --aa-end: #1766ac; --aa-link: #005e91; --aa-soft: #eaf6fa; --aa-tint: #dceff6; }
:root[data-palette="coral"] { --aa-accent: #b52e59; --aa-end: #bb4a22; --aa-link: #a02553; --aa-soft: #fff0f2; --aa-tint: #fce7e7; }
:root[data-palette="indigo"] { --aa-accent: #463aaa; --aa-end: #6841ac; --aa-link: #5535ae; --aa-soft: #f1effc; --aa-tint: #e8e7fc; }
:root[data-theme="dark"] {
    color-scheme: dark;
    --aa-page: #101426;
    --aa-surface: #1a2035;
    --aa-alt: #141a2e;
    --aa-heading: #f1f3ff;
    --aa-text: #c1c8dc;
    --aa-muted: #afb9d1;
    --aa-line: #343d59;
    --aa-link: #c4b5ff;
    --aa-soft: #262443;
    --aa-tint: #202942;
    --aa-shadow: 0 16px 45px rgb(0 0 0 / 24%);
}
:root[data-theme="dark"][data-palette="ocean"] { --aa-link: #72d4f0; --aa-soft: #173344; --aa-tint: #152e42; }
:root[data-theme="dark"][data-palette="coral"] { --aa-link: #ffadb4; --aa-soft: #382538; --aa-tint: #332638; }
:root[data-theme="dark"][data-palette="indigo"] { --aa-link: #cbb7ff; --aa-soft: #2b274b; --aa-tint: #242847; }
html, body { background-color: var(--aa-page); }
body, body.active-dark { color: var(--aa-text); background-color: var(--aa-page); }
a:focus-visible, button:focus-visible, [role="button"]:focus-visible { outline-color: var(--aa-link); }
button:focus-visible { outline: 3px solid var(--aa-link) !important; outline-offset: 3px; }
.text-effect-1, .text-effect-2 { background-image: linear-gradient(110deg, var(--aa-accent), var(--aa-end)); }
.hero-details i, .section-kicker, .text-button, .portfolio-project .item-info .project-action { color: var(--aa-link); }
.text-second { color: var(--aa-link); }
.sector-symbol, .itm-media-object .media .feature-symbol, .s-card-icon.process-symbol, .tech-symbol, .package-symbol { background: var(--aa-soft); color: var(--aa-link); }
.niwax-btn2, .niwax-btn3, .btn-main.bg-btn3, .custom-nav .nav-list .quote-menu, .mobile-menu2 .mobile-quote {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 52px;
    height: auto;
    padding: 14px 26px;
    line-height: 1.55;
    border: 0;
    border-radius: 100px;
    background: linear-gradient(110deg, var(--aa-accent), var(--aa-end));
    background-size: 100% 100%;
    box-shadow: 0 9px 20px rgb(54 40 130 / 18%);
    color: #fff;
    font-weight: 600;
    text-align: center;
    transition: transform .2s ease, box-shadow .2s ease;
}
.niwax-btn2:hover, .niwax-btn3:hover, .btn-main.bg-btn3:hover, .custom-nav .nav-list .quote-menu:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 12px 24px rgb(54 40 130 / 24%); }
.niwax-btn2::before, .niwax-btn2::after, .niwax-btn3::before, .niwax-btn3::after { display: none; }
.niwax-btn2 .fa-icon, .quote-menu i { margin: 0; font-size: 14px; }
.custom-nav .nav-list .quote-menu { padding: 12px 20px; min-height: 46px; }
.mobile-menu2 .mobile-quote { padding: 0; width: 44px; height: 44px; min-height: 44px; line-height: 1; }
.portfolio-project .item-image img { aspect-ratio: 3 / 2; object-fit: contain; padding: 10px; }
.featured-project .item-image img:not(.hiva-logo) { object-position: center; padding: 10px; }
.featured-project .item-image { background: linear-gradient(150deg, #fff, #f1f2f8); }
.delivery-section { background: var(--aa-alt); }
.delivery-card { height: 100%; margin: 0; border: 1px solid var(--aa-line); background: var(--aa-surface); text-align: left; padding: 32px 28px; }
.delivery-card .s-card-icon { display: grid; place-items: center; width: 60px; height: 60px; margin: 0 0 24px; border-radius: 18px; color: var(--aa-link); background: var(--aa-soft); font-size: 27px; }
.delivery-card h3 { font-size: 21px; line-height: 1.45; color: var(--aa-heading); }
.delivery-card p { font-size: 14px; line-height: 1.85; margin-top: 12px; }
.delivery-card ul { padding: 0; margin: 18px 0 0; list-style: none; }
.delivery-card li { display: flex; gap: 10px; font-size: 13px; line-height: 1.65; margin-top: 10px; }
.delivery-card li i { color: var(--aa-link); padding-top: 4px; }
.delivery-note { max-width: 780px; margin: 28px auto 0; text-align: center; color: var(--aa-muted); font-size: 12px; line-height: 1.8; }
.agency-faq .accordion-button:not(.collapsed), .agency-faq .accordion-body { background: var(--aa-soft); }
.agency-faq .accordion-button { color: var(--aa-heading); }
.agency-faq .accordion-item { border-color: var(--aa-line); }
.filters .filter-menu li { padding: 8px 12px; background: var(--aa-soft); color: var(--aa-heading); }
.filters .filter-menu li.is-checked { background: var(--aa-accent); color: #fff; border-color: var(--aa-accent); }
.companytime { background: linear-gradient(110deg, var(--aa-accent), var(--aa-end)); }
.pricingheader, .reco .pricingheader { background: var(--aa-soft); }
.pricingoffers { background: var(--aa-alt); border-color: var(--aa-line); height: auto; min-height: 240px; max-height: none; overflow: visible; }
.pricingrate { border-color: var(--aa-line); }
.cookie-banner, .cookie-modal .modal-content { background: var(--aa-surface); color: var(--aa-text); border-color: var(--aa-line); }
.cookie-copy h2, .cookie-modal h2, .cookie-modal h3 { color: var(--aa-heading); }
.cookie-button { border-color: var(--aa-line); background: var(--aa-surface); color: var(--aa-heading); }
.cookie-button:hover { background: var(--aa-soft); }
.cookie-option input { accent-color: var(--aa-accent); }
.cookie-active { background: var(--aa-soft); color: var(--aa-link); }
.cookie-unavailable, .cookie-note, .cookie-copy p { color: var(--aa-muted); }
.cookie-category { border-color: var(--aa-line); }
.cookie-modal .modal-header, .cookie-modal .modal-footer { border-color: var(--aa-line); }
.cookie-modal .modal-content { max-height: 100%; }
.legal-body a, .cookie-copy a, .cookie-modal a, .form-notice a { color: var(--aa-link); }
.legal-date, .captcha-help, .form-notice { color: var(--aa-muted); }
.cookie-modal .modal-footer .cookie-button { flex: 1 1 auto; margin: 0; }

/* Os controles ficam ao lado do conteúdo; o painel de cores não escurece o site. */
.appearance-toolbar { position: fixed; z-index: 10010; right: 18px; bottom: 92px; display: flex; flex-direction: column; gap: 6px; padding: 6px; border: 1px solid var(--aa-line); background: var(--aa-surface); border-radius: 50px; box-shadow: var(--aa-shadow); }
.appearance-tool, .appearance-close { display: grid; place-items: center; padding: 0; border: 0; background: transparent; color: var(--aa-heading); cursor: pointer; }
.appearance-tool { width: 42px; height: 42px; border-radius: 50%; font-size: 18px; }
.appearance-tool:hover, .appearance-tool[aria-expanded="true"] { background: var(--aa-soft); color: var(--aa-link); }
.appearance-panel { position: fixed; z-index: 10011; right: 86px; bottom: 92px; width: min(340px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow: auto; padding: 23px; border: 1px solid var(--aa-line); border-radius: 20px; background: var(--aa-surface); color: var(--aa-text); box-shadow: var(--aa-shadow); }
[hidden] { display: none !important; }
.appearance-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.appearance-heading h2 { font-size: 20px; line-height: 1.5; color: var(--aa-heading); }
.appearance-close { width: 32px; height: 32px; border-radius: 50%; font-size: 16px; flex-shrink: 0; }
.appearance-panel > p { font-size: 12px; line-height: 1.8; margin-top: 10px; color: var(--aa-muted); }
.appearance-panel h3 { font-size: 13px; line-height: 1.5; margin: 20px 0 10px; color: var(--aa-heading); }
.appearance-modes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.appearance-modes button { display: flex; flex-direction: column; align-items: center; gap: 7px; border: 1px solid var(--aa-line); border-radius: 10px; background: var(--aa-surface); color: var(--aa-heading); padding: 12px 4px; font-size: 11px; line-height: 1.6; }
.appearance-modes [aria-pressed="true"], .appearance-palettes [aria-pressed="true"] { border-color: var(--aa-link); background: var(--aa-soft); }
.appearance-palettes { display: grid; gap: 7px; }
.appearance-palettes button { display: flex; align-items: center; gap: 10px; border: 1px solid var(--aa-line); border-radius: 10px; padding: 10px; background: var(--aa-surface); color: var(--aa-heading); font-size: 12px; text-align: left; }
.palette-swatch { flex: 0 0 36px; height: 24px; border-radius: 12px; }
.palette-violet { background: linear-gradient(110deg, #673ab7, #126fbb); }
.palette-ocean { background: linear-gradient(110deg, #006879, #1766ac); }
.palette-coral { background: linear-gradient(110deg, #b52e59, #bb4a22); }
.palette-indigo { background: linear-gradient(110deg, #463aaa, #6841ac); }
.palette-check { margin-left: auto; color: var(--aa-link); visibility: hidden; }
[aria-pressed="true"] .palette-check { visibility: visible; }
.appearance-reset { margin-top: 20px; }

/* Complementos do darkmode.css para as seções e controles desta página. */
:root[data-theme="dark"] h1, :root[data-theme="dark"] h2, :root[data-theme="dark"] h3, :root[data-theme="dark"] h4, :root[data-theme="dark"] h5 { color: var(--aa-heading); }
:root[data-theme="dark"] .main-header, :root[data-theme="dark"] .main-header.sticky, :root[data-theme="dark"] .formcover,
:root[data-theme="dark"] .dg-service2, :root[data-theme="dark"] .pricing-block, :root[data-theme="dark"] .why-niwax-section,
:root[data-theme="dark"] .service-block-a, :root[data-theme="dark"] .legal-section { background: var(--aa-page); }
:root[data-theme="dark"] .niwax-lp1:before { background: rgb(16 20 38 / 91%); }
:root[data-theme="dark"] .niwax-lp1 { background-color: var(--aa-page); }
:root[data-theme="dark"] .text-effect-1, :root[data-theme="dark"] .text-effect-2 { background-image: linear-gradient(110deg, var(--aa-link), #82cafa); }
:root[data-theme="dark"] .why-choos-lg, :root[data-theme="dark"] .bg-gradient1, :root[data-theme="dark"] .bg-gradient6,
:root[data-theme="dark"] .portfolio-page, :root[data-theme="dark"] .bg-gradient3, :root[data-theme="dark"] .niwax-company-awards-cover { background: var(--aa-alt); }
:root[data-theme="dark"] .isotope_item, :root[data-theme="dark"] .tech-tile, :root[data-theme="dark"] .niwaxpricingbox,
:root[data-theme="dark"] .delivery-card, :root[data-theme="dark"] .about-photo-frame, :root[data-theme="dark"] .legal-details,
:root[data-theme="dark"] .agency-faq .accordion-button, :root[data-theme="dark"] .agency-faq .accordion-item,
:root[data-theme="dark"] .service-block .wide-sblock { background: var(--aa-surface); border-color: var(--aa-line); }
:root[data-theme="dark"] .agency-faq .accordion-button:not(.collapsed), :root[data-theme="dark"] .agency-faq .accordion-body { background: var(--aa-soft); }
:root[data-theme="dark"] .hero-details, :root[data-theme="dark"] .stack-line, :root[data-theme="dark"] .about-photo-caption,
:root[data-theme="dark"] .pricingoffers, :root[data-theme="dark"] .item-info p { color: var(--aa-text); }
:root[data-theme="dark"] .hero-linkedin, :root[data-theme="dark"] .text-link, :root[data-theme="dark"] .form-direct a,
:root[data-theme="dark"] .local-captcha label, :root[data-theme="dark"] .portfolio-project .item-info h3 a,
:root[data-theme="dark"] .service-presentation .item-info h3 a, :root[data-theme="dark"] .about-photo-caption span:first-child,
:root[data-theme="dark"] .legal-details summary, :root[data-theme="dark"] .tech-tile strong { color: var(--aa-heading); }
:root[data-theme="dark"] .form-block input, :root[data-theme="dark"] .form-block select, :root[data-theme="dark"] .form-block textarea { color: var(--aa-heading); background: var(--aa-alt); border: 1px solid var(--aa-line); box-shadow: none; }
:root[data-theme="dark"] .form-block input::placeholder, :root[data-theme="dark"] .form-block textarea::placeholder { color: var(--aa-muted); opacity: 1; }
:root[data-theme="dark"] .form-block input:focus, :root[data-theme="dark"] .form-block select:focus, :root[data-theme="dark"] .form-block textarea:focus { border-color: var(--aa-link); outline-color: var(--aa-link); }
:root[data-theme="dark"] .language-button, :root[data-theme="dark"] header .dropdown-menu { background: var(--aa-surface); color: var(--aa-heading); border-color: var(--aa-line); }
:root[data-theme="dark"] .dropdown-item, :root[data-theme="dark"] .custom-nav .nav-list .menu-links { color: var(--aa-heading); }
:root[data-theme="dark"] .language-dropdown .dropdown-item.active, :root[data-theme="dark"] .dropdown-item:hover { background: var(--aa-soft); color: var(--aa-heading); }
:root[data-theme="dark"] .cookie-table td, :root[data-theme="dark"] .cookie-table th { border-color: var(--aa-line); }
:root[data-theme="dark"] .cookie-table thead { background: var(--aa-soft); color: var(--aa-heading); }
:root[data-theme="dark"] .pricingheader, :root[data-theme="dark"] .reco .pricingheader { background: var(--aa-soft); color: var(--aa-heading); }
:root[data-theme="dark"] .pricingoffers { background: var(--aa-alt); border-color: var(--aa-line); }
:root[data-theme="dark"] .pricingrate { border-color: var(--aa-line); }
:root[data-theme="dark"] .filters .filter-menu li { background: var(--aa-soft); color: var(--aa-heading); }
:root[data-theme="dark"] .filters .filter-menu li.is-checked { background: var(--aa-accent); color: #fff; }
:root[data-theme="dark"] .tech-tile > span:last-child { color: var(--aa-muted); }
:root[data-theme="dark"] .quote-heading { color: var(--aa-heading); }
:root[data-theme="dark"] .cookie-modal .btn-close, :root[data-theme="dark"] .accordion-button::after { filter: invert(1) grayscale(1) brightness(2); }
:root[data-theme="dark"] .hc-nav-trigger span, :root[data-theme="dark"] .hc-nav-trigger span::before, :root[data-theme="dark"] .hc-nav-trigger span::after { background: var(--aa-heading); }
:root[data-theme="dark"] .hc-offcanvas-nav .nav-container, :root[data-theme="dark"] .hc-offcanvas-nav .nav-wrapper { background: var(--aa-surface); }
:root[data-theme="dark"] .hc-offcanvas-nav a { color: var(--aa-heading); border-color: var(--aa-line); }
:root[data-theme="dark"] .form-result.success { background: #153a2c; color: #b7ecd1; }
:root[data-theme="dark"] .form-result.error { background: #45242c; color: #ffd3d3; }
:root[data-theme="dark"] .niwax-btn2, :root[data-theme="dark"] .niwax-btn3, :root[data-theme="dark"] .quote-menu, :root[data-theme="dark"] .mobile-quote { color: #fff; }
.footerdez { background-color: #101426; }
.linkedin-link, .portfolio-profile .linkedin-link { display: inline-flex; align-items: center; column-gap: 12px; }
.linkedin-link > i { margin: 0; flex-shrink: 0; }
.linkedin-link > span { min-width: 0; }
.anderson-brand picture { display: contents; }
.header-headings .preview-offer { display: flex; align-items: flex-start; gap: 12px; margin-top: 22px; padding: 12px 0 12px 16px; border-left: 3px solid var(--aa-link); font-size: 15px; line-height: 1.8; color: var(--aa-heading); }
.preview-offer i { padding-top: 6px; color: var(--aa-link); flex-shrink: 0; }
.education-line { color: var(--aa-heading); }
.agency-process { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; padding: 0; margin: 50px 0 0; list-style: none; }
.agency-process .ps-block { position: relative; padding: 0; margin: 0; }
.agency-process .ps-block > span { display: grid; place-items: center; width: 60px; height: 60px; margin-bottom: 24px; border: 1px solid var(--aa-line); border-radius: 50%; background: var(--aa-surface); color: var(--aa-link); font-size: 26px; line-height: 1; box-shadow: var(--aa-shadow); }
.agency-process .ps-block:not(:last-child)::after { content: ""; position: absolute; top: 29px; left: 76px; right: 0; border-top: 1px solid var(--aa-line); }
.agency-process h3 { margin-bottom: 12px; color: var(--aa-heading); font-size: 19px; line-height: 1.5; }
.agency-process .ps-block p { color: var(--aa-text); font-size: 14px; line-height: 1.85; }
@media (max-width: 991px) {
    .agency-process { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 28px; }
    .agency-process .ps-block:nth-child(2)::after { display: none; }
}
@media (max-width: 575px) {
    .agency-process { grid-template-columns: minmax(0, 1fr); gap: 30px; margin-top: 35px; }
    .agency-process .ps-block::after { display: none; }
    .agency-process .ps-block > span { width: 52px; height: 52px; margin-bottom: 16px; font-size: 23px; }
}
#scrollUp { bottom: 24px; right: 24px; }
@media (max-width: 575px) {
    .appearance-toolbar { right: 12px; bottom: 84px; gap: 4px; padding: 4px; }
    .appearance-tool { width: 36px; height: 36px; font-size: 16px; }
    .appearance-panel { right: 12px; bottom: 178px; max-height: calc(100dvh - 194px); padding: 20px; }
    .niwax-btn2, .niwax-btn3 { max-width: 100%; white-space: normal; padding: 13px 23px; }
    .cookie-modal .modal-dialog { width: calc(100% - 24px); margin: 12px auto; min-height: calc(100% - 24px); }
    .cookie-modal .modal-dialog-scrollable { height: calc(100% - 24px); }
}
@media (prefers-reduced-motion: reduce) {
    .niwax-btn2, .niwax-btn3, .btn-main.bg-btn3 { transition: none; }
    .niwax-btn2:hover, .niwax-btn3:hover, .btn-main.bg-btn3:hover { transform: none; }
}

/* Versão clara do texto do logotipo sobre o menu escuro. */
.dsk-logo .nav-brand img.brand-logo-dark { display: none; }
:root[data-theme="dark"] .dsk-logo .nav-brand img.brand-logo-light { display: none; }
:root[data-theme="dark"] .dsk-logo .nav-brand img.brand-logo-dark { display: block; }
:root[data-theme="dark"] .project-spotlight { background: var(--aa-alt); }
:root[data-theme="dark"] .project-spotlight-card { background: var(--aa-surface); border-color: var(--aa-line); }
:root[data-theme="dark"] .project-spotlight-card h3 { color: var(--aa-heading); }
:root[data-theme="dark"] .project-spotlight-card p, :root[data-theme="dark"] .spotlight-disclaimer { color: var(--aa-text); }
