/* ==========================================================
   Site — dark tech premium, laranja como único acento
   ========================================================== */

.site {
    --bg: #0b0d14;
    --surface: #131622;
    --surface-2: #1a1e2d;
    --text: #f2f3f7;
    --muted: #9ba1b4;
    --primary: #ff8000;
    --primary-ink: #0b0d14;
    --light: #f4f1ec;
    --line: rgba(255, 255, 255, .08);
    --line-strong: rgba(255, 255, 255, .16);

    --font-display: "Space Grotesk", "Poppins", sans-serif;
    --font-body: "Poppins", system-ui, sans-serif;

    --step--1: clamp(.8rem, .78rem + .1vw, .875rem);
    --step-0: clamp(1rem, .95rem + .25vw, 1.125rem);
    --step-1: clamp(1.2rem, 1.1rem + .5vw, 1.5rem);
    --step-2: clamp(1.6rem, 1.3rem + 1.4vw, 2.4rem);
    --step-3: clamp(2.1rem, 1.5rem + 2.6vw, 3.6rem);
    --step-4: clamp(2.6rem, 1.8rem + 4vw, 5.5rem);
    --step-5: clamp(3rem, 1.6rem + 6vw, 7rem);

    --space-xs: .75rem;
    --space-s: clamp(1rem, .8rem + 1vw, 1.5rem);
    --space-m: clamp(2rem, 1.5rem + 2vw, 3.5rem);
    --space-l: clamp(4.5rem, 3rem + 5vw, 9rem);

    --radius: 18px;
    --radius-s: 12px;
    --ease-out: cubic-bezier(.16, 1, .3, 1);
    --container: 1240px;

    background: var(--bg);
    color: var(--text);
    font-family: var(--font-body);
}

.site h1, .site h2, .site h3, .site .h-stat strong { font-family: var(--font-display); }

.site ::selection { background: var(--primary); color: var(--primary-ink); }

.site a:focus-visible,
.site button:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 4px;
    border-radius: 6px;
}

/* Lenis */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }

/* Evita o "flash" do hero antes do GSAP assumir */
.anim-ready [data-hero],
.anim-ready [data-hero-title],
.anim-ready [data-hero-media],
.anim-ready .hero-section h1,
.anim-ready .hero-section .lead,
.anim-ready .hero-section .d-flex,
.anim-ready .hero-section img { visibility: hidden; }

/* ---------- Header  ---------- */
.site .navbar-modern {
    background: transparent !important;
    box-shadow: none;
    backdrop-filter: none;
    border-bottom: 1px solid transparent;
    transition: transform .5s var(--ease-out), background-color .4s, border-color .4s, padding .4s;
}
.site .navbar-modern.is-scrolled {
    background: rgba(11, 13, 20, .72) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom-color: var(--line);
    padding: 8px 0;
}
.site .navbar-modern.is-hidden { transform: translateY(-100%); }
.site .navbar-modern .nav-link { position: relative; font-size: var(--step--1); letter-spacing: .02em; }
.site .navbar-modern .nav-link:hover,
.site .navbar-modern .nav-link.active { color: var(--primary) !important; }
@media (max-width: 991.98px) {
    .site .navbar-modern .navbar-collapse { background: var(--surface); border-radius: var(--radius-s); padding: var(--space-xs) var(--space-s); margin-top: var(--space-xs); }
}

/* ---------- Base ---------- */
.h-wrap {
    width: 100%;
    max-width: var(--container);
    margin-inline: auto;
    padding-inline: clamp(16px, 4vw, 40px);
}

.h-section { padding-block: var(--space-l); position: relative; }

.h-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    font-size: var(--step--1);
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--primary);
    margin: 0 0 var(--space-s);
}
.h-eyebrow::before {
    content: "";
    width: 28px;
    height: 1px;
    background: currentColor;
}

.h-title {
    font-size: var(--step-3);
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -.025em;
    margin: 0;
    max-width: 18ch;
}

.h-head { margin-bottom: var(--space-m); }
.h-head--row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--space-s);
}

/* ---------- Botões ---------- */
.h-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding: 1rem 1.6rem;
    border-radius: 999px;
    font-size: var(--step--1);
    font-weight: 600;
    letter-spacing: .02em;
    text-decoration: none;
    overflow: hidden;
    isolation: isolate;
    transition: color .4s var(--ease-out), border-color .4s;
}
.h-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    transform: translateY(101%);
    transition: transform .5s var(--ease-out);
}
.h-btn:hover::before { transform: translateY(0); }
.h-btn__arrow { display: inline-block; transition: transform .4s var(--ease-out); }
.h-btn:hover .h-btn__arrow { transform: translateX(4px); }

.h-btn--primary { background: var(--primary); color: var(--primary-ink); }
.h-btn--primary::before { background: var(--text); }
.h-btn--primary:hover { color: var(--primary-ink); }

.h-btn--ghost { border: 1px solid var(--line-strong); color: var(--text); }
.h-btn--ghost::before { background: var(--text); }
.h-btn--ghost:hover { color: var(--bg); border-color: var(--text); }


/* ---------- Hero das páginas internas ---------- */
.h-page-hero {
    position: relative;
    overflow: hidden;
    padding: calc(110px + var(--space-l)) 0 var(--space-l);
    border-bottom: 1px solid var(--line);
}
.h-page-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(40vw 30vw at 90% 0%, rgba(255, 128, 0, .14), transparent 60%),
        radial-gradient(40vw 40vw at 0% 100%, rgba(40, 80, 200, .14), transparent 60%);
}
.h-page-hero > * { position: relative; }
.h-page-hero h1 {
    font-size: var(--step-4);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.035em;
    margin: 0 0 var(--space-s);
    max-width: 16ch;
}
.h-page-hero h1 em { font-style: normal; color: var(--primary); }
.h-page-hero p:not(.h-eyebrow) {
    color: var(--muted);
    font-size: var(--step-0);
    line-height: 1.65;
    max-width: 56ch;
    margin: 0;
}

/* Lista com "+" laranja */
.h-plus { list-style: none; padding: 0; margin: 0; }
.h-plus li {
    display: flex;
    gap: .6rem;
    padding: .55rem 0;
    border-top: 1px solid var(--line);
    font-size: var(--step--1);
}
.h-plus li::before { content: "+"; color: var(--primary); }

/* Card com borda sutil */
.h-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: var(--space-m) var(--space-s);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--surface);
    color: var(--text);
    text-decoration: none;
    transition: border-color .5s var(--ease-out), translate .5s var(--ease-out);
}
.h-card:hover { border-color: rgba(255, 128, 0, .45); translate: 0 -4px; color: var(--text); }
.h-card h3 { font-size: var(--step-1); font-weight: 600; letter-spacing: -.01em; margin: 0 0 .6rem; }
.h-card p { color: var(--muted); line-height: 1.65; }

.h-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-s);
}
@media (min-width: 768px) { .h-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .h-grid--3 { grid-template-columns: repeat(3, 1fr); } }

/* Faixa de chamada reaproveitável */
.h-cta { padding-top: 0; }
.h-cta__box {
    position: relative;
    overflow: hidden;
    padding: var(--space-l) clamp(1.5rem, 5vw, 5rem);
    border-radius: calc(var(--radius) * 1.5);
    background:
        radial-gradient(60% 120% at 100% 0%, rgba(255, 128, 0, .28), transparent 60%),
        var(--surface-2);
    border: 1px solid var(--line);
}
.h-cta__box .h-title { font-size: var(--step-4); max-width: 16ch; }
.h-cta__lead {
    color: var(--muted);
    font-size: var(--step-0);
    max-width: 48ch;
    margin: var(--space-s) 0 var(--space-m);
}
.h-cta__actions { display: flex; flex-wrap: wrap; gap: var(--space-xs); }

/* Formulários */
.site .h-form .form-label { font-size: var(--step--1); font-weight: 600; color: var(--text); margin-bottom: .4rem; }
.site .h-form .form-control,
.site .h-form .form-select {
    background-color: var(--bg);
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-s);
    color: var(--text);
    padding: .9rem 1rem;
    font-size: var(--step-0);
    transition: border-color .3s, box-shadow .3s;
}
.site .h-form .form-control::placeholder { color: var(--muted); opacity: .7; }
.site .h-form .form-control:focus,
.site .h-form .form-select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 4px rgba(255, 128, 0, .15);
    background-color: var(--bg);
    color: var(--text);
}
.site button.h-btn { border: 0; cursor: pointer; }

/* ---------- Rodapé ---------- */
.h-footer {
    position: relative;
    overflow: hidden;
    background: var(--bg);
    color: var(--text);
    border-top: 1px solid var(--line);
    padding-top: var(--space-l);
}
.h-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(50vw 30vw at 100% 0%, rgba(255, 128, 0, .12), transparent 60%);
}
.h-footer > * { position: relative; }
.h-footer a { color: inherit; text-decoration: none; }

.h-footer__top {
    display: grid;
    gap: var(--space-m);
    padding-bottom: var(--space-l);
    border-bottom: 1px solid var(--line);
}
@media (min-width: 992px) {
    .h-footer__top { grid-template-columns: 1.3fr 1fr; align-items: end; }
}
.h-footer__title {
    font-size: var(--step-4);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.035em;
    margin: 0;
    max-width: 14ch;
}
.h-footer__title em { font-style: normal; color: var(--primary); }
.h-footer__contact { display: grid; gap: var(--space-s); justify-items: start; }
.h-footer__mail {
    font-family: var(--font-display);
    font-size: var(--step-2);
    font-weight: 500;
    letter-spacing: -.02em;
    max-width: 100%;
    overflow-wrap: anywhere;
    background: linear-gradient(var(--primary), var(--primary)) left bottom / 0 2px no-repeat;
    transition: background-size .6s var(--ease-out), color .3s;
}
.h-footer__mail:hover { background-size: 100% 2px; color: var(--primary) !important; }

.h-footer__cols {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-m);
    padding-block: var(--space-m);
}
@media (min-width: 576px) { .h-footer__cols { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .h-footer__cols { grid-template-columns: 1.4fr 1fr 1fr 1.4fr; } }

.h-footer__brand img { height: 56px; width: auto; margin-bottom: var(--space-s); }
.h-footer__brand p { color: var(--muted); font-size: var(--step--1); line-height: 1.7; max-width: 34ch; }
.h-footer h6 {
    font-size: var(--step--1);
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--muted);
    margin: 0 0 var(--space-s);
}
.h-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; }
.h-footer ul a {
    color: var(--text);
    font-size: var(--step--1);
    display: inline-flex;
    gap: .4rem;
    transition: color .3s, translate .4s var(--ease-out);
}
.h-footer ul a:hover { color: var(--primary); translate: 4px 0; }
.h-footer ul li span { color: var(--muted); font-size: var(--step--1); }

.h-social { display: flex; gap: .6rem; margin-top: var(--space-s); }
.h-social a {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 1px solid var(--line-strong);
    border-radius: 50%;
    font-size: 1.1rem;
    transition: background-color .3s, color .3s, border-color .3s;
}
.h-social a:hover { background: var(--primary); border-color: var(--primary); color: var(--primary-ink); }

.h-news p { color: var(--muted); font-size: var(--step--1); line-height: 1.6; }
.h-news__field {
    display: flex;
    align-items: center;
    border: 1px solid var(--line-strong);
    border-radius: 999px;
    padding: 4px 4px 4px 1.1rem;
    transition: border-color .3s;
}
.h-news__field:focus-within { border-color: var(--primary); }
.h-news__field input {
    flex: 1;
    min-width: 0;
    background: transparent;
    border: 0;
    outline: 0;
    color: var(--text);
    font-size: var(--step--1);
}
.h-news__field input::placeholder { color: var(--muted); }
.h-news__field button {
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: var(--primary);
    color: var(--primary-ink);
    transition: rotate .4s var(--ease-out);
}
.h-news__field button:hover { rotate: -20deg; }

.h-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-xs);
    padding-block: var(--space-s);
    border-top: 1px solid var(--line);
    font-size: var(--step--1);
    color: var(--muted);
}
.h-footer__top-btn { display: inline-flex; align-items: center; gap: .5rem; color: var(--text) !important; }
.h-footer__top-btn span { transition: translate .4s var(--ease-out); }
.h-footer__top-btn:hover span { translate: 0 -4px; }

/* ==========================================================
   Páginas em Bootstrap: alinhamento com o tema escuro
   ========================================================== */
.site .hero-section {
    background: var(--bg) !important;
    min-height: auto;
    padding: calc(110px + var(--space-m)) 0 var(--space-l) !important;
}
.site .hero-section::before {
    background:
        radial-gradient(40vw 40vw at 90% 10%, rgba(255, 128, 0, .14), transparent 60%),
        radial-gradient(50vw 50vw at 0% 100%, rgba(40, 80, 200, .16), transparent 60%);
}
.site .hero-section .min-vh-100 { min-height: 0 !important; }
.site .hero-section > .container { position: relative; z-index: 2; }
.site main.pt-5 { padding-top: 0 !important; }

.site h1.display-4, .site h1.display-5 {
    font-size: var(--step-4);
    font-weight: 600 !important;
    line-height: 1.02;
    letter-spacing: -.035em;
}
.site h2.display-5, .site h2.display-6 {
    font-size: var(--step-3);
    font-weight: 600 !important;
    line-height: 1.05;
    letter-spacing: -.025em;
}
.site .lead { color: var(--muted) !important; font-size: var(--step-0); line-height: 1.65; }

.site .section-title { margin-bottom: 1.5rem; }
.site .section-title::after { display: none; }
.site .text-primary { color: var(--primary) !important; }
.site .text-success { color: var(--primary) !important; }
.site .text-muted { color: var(--muted) !important; }

.site .bg-light { background: var(--surface) !important; color: var(--text); }
.site section.bg-light { border-block: 1px solid var(--line); }
.site .bg-white { background: var(--surface-2) !important; color: var(--text); }
.site section.bg-secondary, .site section.bg-primary, .site section.bg-dark { background: var(--bg) !important; }
.site main > section.bg-secondary:last-child > .container,
.site main > section.bg-primary:last-child > .container {
    padding: var(--space-l) clamp(1.5rem, 5vw, 5rem);
    border-radius: calc(var(--radius) * 1.5);
    border: 1px solid var(--line);
    background:
        radial-gradient(60% 120% at 100% 0%, rgba(255, 128, 0, .28), transparent 60%),
        var(--surface-2);
}
.site main > section.py-5 { padding-block: var(--space-l) !important; }

.site .service-card,
.site main .card {
    background: var(--surface);
    border: 1px solid var(--line) !important;
    border-radius: var(--radius) !important;
    box-shadow: none !important;
    color: var(--text);
    transition: border-color .5s var(--ease-out), translate .5s var(--ease-out);
}
.site .bg-light .service-card, .site .bg-light .card { background: var(--bg); }
.site .service-card:hover, .site main .card:hover { translate: 0 -4px; transform: none; border-color: rgba(255, 128, 0, .45) !important; box-shadow: none !important; }
.site .service-card h3, .site .service-card h4 { font-size: var(--step-1); letter-spacing: -.01em; }
.site main img.rounded, .site main img.shadow-lg, .site main img.shadow { border-radius: var(--radius-s) !important; box-shadow: none !important; border: 1px solid var(--line); }
.site .service-icon {
    font-size: 1.6rem;
    background: none;
    -webkit-text-fill-color: var(--primary);
    color: var(--primary);
}
.site .fa-check { font-size: .8em; }

.site .btn-modern,
.site .btn-primary {
    background: var(--primary) !important;
    color: var(--primary-ink) !important;
    border: 0;
    border-radius: 999px;
    padding: 1rem 1.6rem;
    font-size: var(--step--1);
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: none;
    box-shadow: none;
    transition: background-color .4s var(--ease-out), color .4s;
}
.site .btn-modern:hover,
.site .btn-primary:hover { background: var(--text) !important; color: var(--primary-ink) !important; transform: none; box-shadow: none; }
.site .btn-outline-light,
.site .btn-light,
.site .btn-outline-primary,
.site .btn-outline-success {
    border: 1px solid var(--line-strong);
    background: transparent;
    color: var(--text);
    border-radius: 999px;
    padding: 1rem 1.6rem;
    font-size: var(--step--1);
    font-weight: 600;
    transition: background-color .4s var(--ease-out), color .4s, border-color .4s;
}
.site .btn-outline-light:hover,
.site .btn-light:hover,
.site .btn-outline-primary:hover,
.site .btn-outline-success:hover { background: var(--text); color: var(--bg); border-color: var(--text); }
.site .btn-sm { padding: .5rem 1rem; }

.site .form-control:focus, .site .form-select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 4px rgba(255, 128, 0, .15);
}
.site .form-check-input:checked { background-color: var(--primary); border-color: var(--primary); }
.site .page-link { background: var(--surface); border: 1px solid var(--line); color: var(--text); border-radius: 999px !important; margin: 0 3px; min-width: 42px; text-align: center; }
.site .page-item.active .page-link { background: var(--primary); border-color: var(--primary); color: var(--primary-ink); }
.site .breadcrumb a { color: var(--text); }
.site .badge.bg-light { color: var(--text) !important; background: var(--surface-2) !important; }

/* ==========================================================
   Páginas internas
   ========================================================== */
.h-service__num {
    display: block;
    font-family: var(--font-display);
    font-size: var(--step--1);
    color: var(--primary);
    margin-bottom: var(--space-s);
}
.h-system__link {
    display: inline-flex;
    gap: .5rem;
    font-size: var(--step--1);
    font-weight: 600;
    padding-bottom: 2px;
    background: linear-gradient(var(--primary), var(--primary)) left bottom / 0 1px no-repeat;
    transition: background-size .5s var(--ease-out);
}
.h-system__link span { transition: translate .4s var(--ease-out); }

/* Sistemas: lista em linhas */
.h-sys-list { border-top: 1px solid var(--line); }
.h-sys-row {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-s);
    padding: var(--space-m) 0;
    border-bottom: 1px solid var(--line);
    color: var(--text);
    text-decoration: none;
}
.h-sys-row::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 100%;
    height: 1px;
    background: var(--primary);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .7s var(--ease-out);
}
.h-sys-row:hover { color: var(--text); }
.h-sys-row:hover::before { transform: scaleX(1); }
@media (min-width: 992px) {
    .h-sys-row { grid-template-columns: 4rem 1.3fr 1fr auto; gap: var(--space-m); align-items: start; }
}
.h-sys-row__num { font-family: var(--font-display); color: var(--primary); font-size: var(--step--1); padding-top: .4rem; }
.h-sys-row__tag { font-size: var(--step--1); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.h-sys-row h2 {
    font-size: var(--step-2);
    font-weight: 600;
    letter-spacing: -.025em;
    line-height: 1.1;
    margin: .4rem 0 .8rem;
    transition: color .4s;
}
.h-sys-row:hover h2 { color: var(--primary); }
.h-sys-row p { color: var(--muted); line-height: 1.7; max-width: 52ch; margin: 0; }
.h-sys-row__cta {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    white-space: nowrap;
    font-size: var(--step--1);
    font-weight: 600;
    padding: .8rem 1.3rem;
    border: 1px solid var(--line-strong);
    border-radius: 999px;
    justify-self: start;
    transition: background-color .4s var(--ease-out), color .4s, border-color .4s;
}
.h-sys-row__cta span { transition: translate .4s var(--ease-out); }
.h-sys-row:hover .h-sys-row__cta { background: var(--primary); border-color: var(--primary); color: var(--primary-ink); }
.h-sys-row:hover .h-sys-row__cta span { translate: 4px 0; }

/* Cases */
.h-case__logo {
    width: 88px;
    height: 88px;
    display: grid;
    place-items: center;
    padding: 10px;
    border-radius: var(--radius-s);
    background: var(--light);
    margin-bottom: var(--space-s);
}
.h-case__logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.h-case__type { font-size: var(--step--1); color: var(--primary); letter-spacing: .08em; text-transform: uppercase; font-weight: 600; margin-bottom: .4rem; }
.h-case h3 { margin-bottom: var(--space-s); }
.h-case .h-plus li { color: var(--muted); }

/* Contato */
.h-contact {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-m);
}
@media (min-width: 992px) {
    .h-contact { grid-template-columns: .8fr 1.4fr; gap: var(--space-l); align-items: start; }
}
.h-contact__info { border-top: 1px solid var(--line); }
.h-contact__item { padding: var(--space-s) 0; border-bottom: 1px solid var(--line); }
.h-contact__item span {
    display: block;
    font-size: var(--step--1);
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted);
    font-weight: 600;
    margin-bottom: .35rem;
}
.h-contact__item a, .h-contact__item p {
    font-family: var(--font-display);
    font-size: var(--step-1);
    font-weight: 500;
    color: var(--text);
    text-decoration: none;
    margin: 0;
    overflow-wrap: anywhere;
}
.h-contact__item a:hover { color: var(--primary); }
.h-contact__form {
    padding: var(--space-m) clamp(1.25rem, 4vw, 3rem);
    border: 1px solid var(--line);
    border-radius: calc(var(--radius) * 1.3);
    background: var(--surface);
}
.h-contact__title { font-size: var(--step-2); font-weight: 600; letter-spacing: -.02em; margin-bottom: var(--space-s); }
.h-help { padding-top: 0; }

/* Artigos */
.h-articles__hero {
    display: grid;
    gap: var(--space-m);
    align-items: end;
}
@media (min-width: 992px) { .h-articles__hero { grid-template-columns: 1.4fr 1fr; } }
.h-search {
    display: flex;
    align-items: center;
    border: 1px solid var(--line-strong);
    border-radius: 999px;
    padding: 5px 5px 5px 1.3rem;
    background: rgba(255, 255, 255, .02);
    transition: border-color .3s;
}
.h-search:focus-within { border-color: var(--primary); }
.h-search input {
    flex: 1;
    min-width: 0;
    background: transparent;
    border: 0;
    outline: 0;
    color: var(--text);
    font-size: var(--step-0);
}
.h-search input::placeholder { color: var(--muted); }
.h-search button {
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 50%;
    background: var(--primary);
    color: var(--primary-ink);
}
.h-results { color: var(--muted); margin-bottom: var(--space-m); }
.h-results a { color: var(--primary); }

.h-post { display: block; color: var(--text); text-decoration: none; }
.h-post:hover { color: var(--text); }
.h-post__img {
    aspect-ratio: 16 / 10;
    border-radius: var(--radius);
    overflow: hidden;
    background: var(--surface-2);
    display: grid;
    place-items: center;
    margin-bottom: var(--space-s);
    color: var(--muted);
    font-size: 2.5rem;
}
.h-post__img img { width: 100%; height: 100%; object-fit: cover; transition: scale .8s var(--ease-out); }
.h-post:hover .h-post__img img { scale: 1.05; }
.h-post__meta { display: flex; justify-content: space-between; font-size: var(--step--1); color: var(--muted); }
.h-post h3 { font-size: var(--step-1); font-weight: 600; letter-spacing: -.01em; line-height: 1.25; margin: .5rem 0; }
.h-post p { color: var(--muted); line-height: 1.65; }
.h-post:hover .h-system__link { background-size: 100% 1px; }
.h-post:hover .h-system__link span { translate: 4px 0; }

.h-empty { text-align: center; padding: var(--space-l) 0; color: var(--muted); }
.h-empty i { font-size: 3rem; margin-bottom: var(--space-s); }
.h-empty h2 { font-size: var(--step-2); color: var(--text); }
.h-empty .h-btn { margin-top: var(--space-s); }

.h-article__wrap { max-width: 860px; }
.h-article__hero h1 { max-width: none; font-size: var(--step-3); }
.h-breadcrumb { font-size: var(--step--1); margin-bottom: var(--space-s); flex-wrap: wrap; }
.h-breadcrumb .breadcrumb-item { max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.h-breadcrumb .breadcrumb-item.active { color: var(--muted); }
.h-breadcrumb .breadcrumb-item + .breadcrumb-item::before { content: "/"; color: var(--muted); }
.h-article__meta { display: flex; flex-wrap: wrap; gap: var(--space-s); margin-top: var(--space-s); font-size: var(--step--1); color: var(--muted); }
.h-article__cover { margin: 0 0 var(--space-m); border-radius: var(--radius); overflow: hidden; }
.h-article__cover img { width: 100%; max-height: 520px; object-fit: cover; display: block; }
.h-article__content { font-size: var(--step-0); line-height: 1.85; color: var(--text); max-width: 68ch; }
.h-article__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--space-xs);
    margin-top: var(--space-m);
    padding-top: var(--space-m);
    border-top: 1px solid var(--line);
}

@media (max-width: 575.98px) {
    .h-breadcrumb .breadcrumb-item { max-width: 120px; }
}

/* Orçamento online: wizard no tema */
.site .progress { background: var(--surface-2); border-radius: 999px; }
.site .progress-bar { background: var(--primary); }
.site .bg-primary-subtle { background: rgba(255, 128, 0, .1) !important; border-color: rgba(255, 128, 0, .3) !important; }
.site .border { border-color: var(--line-strong) !important; }
.site .project-card:hover,
.site .feature-card:hover { border-color: var(--primary) !important; box-shadow: none; }
.site .project-card.selected {
    border-color: var(--primary) !important;
    background: rgba(255, 128, 0, .08) !important;
    box-shadow: 0 0 0 1px var(--primary);
}
.site .btn-success {
    background: var(--primary);
    border: 0;
    color: var(--primary-ink);
    border-radius: 999px;
    font-weight: 600;
}
.site .btn-success:hover { background: var(--text); color: var(--primary-ink); }
.site .btn-outline-secondary { border-radius: 999px; border-color: var(--line-strong); color: var(--text); }
.site .btn-outline-secondary:hover { background: var(--text); color: var(--bg); }
.site main + section, .site .h-page-hero + section.bg-light { border-top: 0; }
