/* =====================================================================
   DLL Tecnologia — /servicos/ (CSS próprio, não depende de Tailwind JIT)
   ===================================================================== */

:root {
    --svc-blue:    #1B3664;
    --svc-blue-2:  #2D7AB8;
    --svc-blue-3:  #69B4D0;
    --svc-navy:    #1a093f;
    --svc-purple:  #2D1F60;
    --svc-red:     #ff3a2d;
    --svc-red-2:   #ff6b6b;
    --svc-green:   #22c55e;
    --svc-bg:      #ffffff;
    --svc-bg-2:    #f2f5f9;
    --svc-text:    #1B3664;
    --svc-muted:   #6b7280;
    --svc-border:  #e5e7eb;
    --svc-shadow:  0 10px 30px rgba(26, 54, 100, 0.08);
    --svc-shadow-lg: 0 20px 60px rgba(26, 54, 100, 0.15);
    --svc-radius:  18px;
}

/* ========== Reset/base dentro do módulo ========== */
.servicos-page,
.servicos-index,
.obrigado-page {
    background: var(--svc-bg);
    color: var(--svc-text);
    font-family: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
.servicos-page *,
.servicos-index *,
.obrigado-page * {
    box-sizing: border-box;
}

.svc-container {
    max-width: 1200px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
}

/* ========== Hero ========== */
.svc-hero {
    position: relative;
    overflow: hidden;
    padding: 120px 0 80px;
    background: linear-gradient(135deg, var(--svc-blue) 0%, var(--svc-purple) 50%, var(--svc-navy) 100%);
    color: #ffffff;
}
.svc-hero::before,
.svc-hero::after {
    content: '';
    position: absolute;
    border-radius: 9999px;
    filter: blur(120px);
    opacity: 0.25;
    pointer-events: none;
    mix-blend-mode: screen;
}
.svc-hero::before {
    width: 500px;
    height: 500px;
    top: -120px;
    right: -100px;
    background: var(--svc-red);
    animation: svcFloat 14s ease-in-out infinite;
}
.svc-hero::after {
    width: 400px;
    height: 400px;
    bottom: -100px;
    left: -80px;
    background: var(--svc-blue-2);
    animation: svcFloat 12s ease-in-out infinite reverse;
    animation-delay: 3s;
}
@keyframes svcFloat {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-24px); }
}

.svc-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    align-items: center;
}
@media (min-width: 1024px) {
    .svc-hero-grid {
        grid-template-columns: 7fr 5fr;
        gap: 60px;
    }
    .svc-hero { padding: 160px 0 110px; }
}

.svc-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: rgba(255,255,255,0.65);
    margin-bottom: 20px;
}
.svc-breadcrumb a { color: inherit; text-decoration: none; transition: color .2s; }
.svc-breadcrumb a:hover { color: #fff; }
.svc-breadcrumb span.current { color: rgba(255,255,255,0.95); }

.svc-badge {
    display: inline-block;
    padding: 6px 14px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 9999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 20px;
}
.svc-badge.red { color: var(--svc-red); }
.svc-badge.blue { color: var(--svc-blue-2); }
.svc-badge.accent { color: var(--svc-red); }

.svc-h1 {
    font-size: clamp(2rem, 4.2vw, 3.6rem);
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: -0.02em;
    margin: 0 0 18px;
    color: #ffffff;
}
.svc-hero-sub {
    font-size: clamp(1rem, 1.3vw, 1.2rem);
    line-height: 1.55;
    color: rgba(255,255,255,0.82);
    margin: 0 0 26px;
    max-width: 640px;
}

.svc-bullets {
    list-style: none;
    padding: 0;
    margin: 0 0 32px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}
@media (min-width: 640px) {
    .svc-bullets { grid-template-columns: 1fr 1fr; }
}
.svc-bullets li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: rgba(255,255,255,0.92);
    font-size: 0.95rem;
}
.svc-bullets .dot {
    margin-top: 2px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 9999px;
    flex-shrink: 0;
    background: rgba(255, 58, 45, 0.25);
    color: var(--svc-red-2);
    font-weight: 900;
    font-size: 13px;
}

.svc-cta-row {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
@media (min-width: 640px) {
    .svc-cta-row { flex-direction: row; align-items: center; }
}

.svc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 15px 26px;
    border-radius: 12px;
    font-weight: 800;
    font-size: 0.95rem;
    text-decoration: none;
    transition: transform .2s, background .2s, box-shadow .2s, color .2s;
    border: none;
    cursor: pointer;
    line-height: 1;
}
.svc-btn--primary {
    background: var(--svc-red);
    color: #fff;
    box-shadow: 0 12px 28px rgba(255,58,45,0.35);
}
.svc-btn--primary:hover {
    background: #e02e22;
    transform: translateY(-2px);
    box-shadow: 0 18px 36px rgba(255,58,45,0.45);
}
.svc-btn--ghost {
    background: rgba(255,255,255,0.12);
    color: #fff;
    border: 1px solid rgba(255,255,255,0.22);
}
.svc-btn--ghost:hover { background: rgba(255,255,255,0.20); }
.svc-btn--outline {
    background: transparent;
    color: var(--svc-blue);
    border: 2px solid var(--svc-blue);
}
.svc-btn--outline:hover {
    background: var(--svc-blue);
    color: #fff;
}
.svc-btn--wa {
    background: #25D366;
    color: #fff;
    box-shadow: 0 12px 28px rgba(37,211,102,0.35);
}
.svc-btn--wa:hover { background: #1ebe5a; transform: translateY(-2px); }

.svc-hero-trust {
    margin-top: 40px;
    padding-top: 26px;
    border-top: 1px solid rgba(255,255,255,0.12);
}
.svc-hero-trust .label {
    font-size: 10px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.45);
    margin-bottom: 14px;
}
.svc-hero-trust .badges {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}
.svc-hero-trust .badges span {
    font-weight: 600;
    color: rgba(255,255,255,0.78);
    font-size: 0.95rem;
}

.svc-hero-media {
    position: relative;
}
.svc-hero-media .halo {
    position: absolute;
    inset: -20px;
    background: radial-gradient(ellipse at 30% 30%, rgba(255,58,45,0.35), transparent 60%),
                radial-gradient(ellipse at 70% 70%, rgba(45,122,184,0.35), transparent 60%);
    filter: blur(60px);
    border-radius: 32px;
    opacity: 0.6;
}
.svc-hero-media img {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,0.14);
    box-shadow: 0 20px 60px rgba(0,0,0,0.35);
}
@media (min-width: 1024px) {
    .svc-hero-media img { aspect-ratio: 4 / 5; }
}

/* ========== Seções gerais ========== */
.svc-section {
    padding: 80px 0;
    background: var(--svc-bg);
}
.svc-section.alt { background: var(--svc-bg-2); }
.svc-section.dark {
    background: var(--svc-blue);
    color: #fff;
    position: relative;
    overflow: hidden;
}
.svc-section.dark::before {
    content: '';
    position: absolute;
    width: 400px;
    height: 400px;
    top: -100px;
    right: -100px;
    background: var(--svc-red);
    border-radius: 9999px;
    filter: blur(140px);
    opacity: 0.12;
}

@media (max-width: 768px) {
    .svc-section { padding: 56px 0; }
}

.svc-section-header {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 48px;
    position: relative;
    z-index: 2;
}
.svc-section-header.left { text-align: left; margin-left: 0; }
.svc-h2 {
    font-size: clamp(1.7rem, 3vw, 2.4rem);
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: -0.01em;
    color: var(--svc-blue);
    margin: 0 0 14px;
}
.svc-section.dark .svc-h2 { color: #fff; }
.svc-section-sub {
    font-size: 1.05rem;
    color: var(--svc-muted);
    line-height: 1.55;
    margin: 0;
}
.svc-section.dark .svc-section-sub { color: rgba(255,255,255,0.75); }

.svc-chip {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 9999px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 14px;
}
.svc-chip.red { background: rgba(255,58,45,0.1); color: var(--svc-red); }
.svc-chip.blue { background: rgba(45,122,184,0.1); color: var(--svc-blue-2); }
.svc-chip.navy { background: rgba(27,54,100,0.1); color: var(--svc-blue); }
.svc-section.dark .svc-chip.red { background: rgba(255,255,255,0.1); }
.svc-section.dark .svc-chip.blue { background: rgba(255,255,255,0.1); color: var(--svc-blue-3); }

/* ========== Cards genéricos ========== */
.svc-grid { display: grid; gap: 20px; }
@media (min-width: 768px) { .svc-grid.cols-2 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .svc-grid.cols-3 { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .svc-grid.cols-4 { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 768px) and (max-width: 1023px) {
    .svc-grid.cols-3, .svc-grid.cols-4 { grid-template-columns: repeat(2, 1fr); }
}

.svc-card {
    background: #fff;
    border-radius: var(--svc-radius);
    border: 1px solid var(--svc-border);
    padding: 28px;
    transition: transform .25s, box-shadow .25s, border-color .25s;
}
.svc-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--svc-shadow-lg);
    border-color: rgba(255,58,45,0.2);
}
.svc-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 12px;
    background: rgba(255,58,45,0.1);
    color: var(--svc-red);
    margin-bottom: 18px;
}
.svc-card-icon.blue { background: rgba(45,122,184,0.1); color: var(--svc-blue-2); }
.svc-card-icon.navy { background: rgba(27,54,100,0.1); color: var(--svc-blue); }
.svc-card h3 {
    font-size: 1.2rem;
    font-weight: 900;
    color: var(--svc-blue);
    margin: 0 0 10px;
    line-height: 1.25;
}
.svc-card p {
    font-size: 0.95rem;
    color: var(--svc-muted);
    margin: 0;
    line-height: 1.55;
}

/* Estatísticas */
.svc-stat {
    background: #fff;
    border-radius: var(--svc-radius);
    border: 1px solid var(--svc-border);
    padding: 28px;
    transition: transform .25s, box-shadow .25s;
}
.svc-stat:hover { transform: translateY(-4px); box-shadow: var(--svc-shadow); }
.svc-stat-value {
    font-size: clamp(2rem, 3.5vw, 2.6rem);
    font-weight: 900;
    color: var(--svc-red);
    line-height: 1;
    margin-bottom: 10px;
}
.svc-stat-label {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--svc-blue);
    line-height: 1.35;
    margin-bottom: 10px;
}
.svc-stat-source {
    font-size: 12px;
    color: var(--svc-muted);
    border-top: 1px solid var(--svc-border);
    padding-top: 10px;
    margin-top: 10px;
}

/* Diferenciais dark */
.svc-dif {
    display: flex;
    gap: 18px;
    padding: 20px;
    border-radius: var(--svc-radius);
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
    transition: background .25s;
}
.svc-dif:hover { background: rgba(255,255,255,0.08); }
.svc-dif-icon {
    flex-shrink: 0;
    width: 48px; height: 48px;
    border-radius: 12px;
    background: var(--svc-red);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.svc-dif h3 { color: #fff; margin: 0 0 6px; font-size: 1.05rem; font-weight: 800; line-height: 1.25; }
.svc-dif p  { color: rgba(255,255,255,0.72); margin: 0; font-size: 0.9rem; line-height: 1.55; }

/* Processo */
.svc-step {
    background: #fff;
    border: 1px solid var(--svc-border);
    border-radius: var(--svc-radius);
    padding: 24px;
    transition: box-shadow .25s;
}
.svc-step:hover { box-shadow: var(--svc-shadow); }
.svc-step-head { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 12px; }
.svc-step-num {
    flex-shrink: 0;
    width: 44px; height: 44px;
    border-radius: 9999px;
    background: var(--svc-blue);
    color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    font-weight: 900; font-size: 17px;
    box-shadow: 0 6px 14px rgba(27,54,100,0.3);
}
.svc-step h3 { color: var(--svc-blue); margin: 0; font-size: 1.05rem; font-weight: 900; line-height: 1.2; }
.svc-step .dur { color: var(--svc-muted); font-size: 12px; margin-top: 3px; }
.svc-step p   { color: var(--svc-muted); margin: 0; font-size: 0.92rem; line-height: 1.55; }

/* Case / depoimento */
.svc-case {
    background: #fff;
    border-radius: var(--svc-radius);
    border: 1px solid var(--svc-border);
    padding: 28px;
    display: flex; flex-direction: column; gap: 14px;
    transition: transform .25s, box-shadow .25s;
}
.svc-case:hover { transform: translateY(-4px); box-shadow: var(--svc-shadow-lg); }
.svc-case-metric { font-size: clamp(2rem, 3vw, 2.4rem); font-weight: 900; line-height: 1; color: var(--svc-red); }
.svc-case-metric-label { font-size: 0.88rem; font-weight: 700; color: var(--svc-blue); }
.svc-case-quote { color: var(--svc-muted); font-size: 0.95rem; line-height: 1.55; margin: 0; flex: 1; }
.svc-case-author { padding-top: 14px; border-top: 1px solid var(--svc-border); }
.svc-case-author .name { font-weight: 800; color: var(--svc-blue); font-size: 0.9rem; }
.svc-case-author .role { font-size: 12px; color: var(--svc-muted); }

.svc-trust-row {
    margin-top: 40px;
    padding-top: 28px;
    border-top: 1px solid var(--svc-border);
    text-align: center;
}
.svc-trust-row .title {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--svc-muted);
    margin-bottom: 18px;
}
.svc-trust-row .chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 32px;
}
.svc-trust-row .chips span { color: #9ca3af; font-weight: 800; font-size: 0.9rem; }

/* ========== Formulário ========== */
.svc-form-section {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, var(--svc-blue) 0%, var(--svc-purple) 100%);
    color: #fff;
    padding: 80px 0;
}
.svc-form-section::before,
.svc-form-section::after {
    content: '';
    position: absolute;
    width: 400px; height: 400px;
    border-radius: 9999px;
    filter: blur(120px);
    opacity: 0.2;
    pointer-events: none;
}
.svc-form-section::before { background: var(--svc-red); top: -100px; left: -100px; }
.svc-form-section::after  { background: var(--svc-blue-2); bottom: -100px; right: -100px; }

.svc-form-grid {
    position: relative; z-index: 2;
    display: grid; gap: 40px;
    grid-template-columns: 1fr;
    align-items: start;
}
@media (min-width: 1024px) {
    .svc-form-grid { grid-template-columns: 5fr 7fr; gap: 60px; }
}

.svc-form-intro h2 { color: #fff; margin: 0 0 14px; font-size: clamp(1.6rem, 2.6vw, 2.2rem); font-weight: 900; line-height: 1.15; }
.svc-form-intro p  { color: rgba(255,255,255,0.82); font-size: 1.05rem; line-height: 1.55; margin: 0 0 24px; }
.svc-form-benefits { list-style: none; padding: 0; margin: 0 0 26px; }
.svc-form-benefits li { display: flex; gap: 12px; padding: 6px 0; color: rgba(255,255,255,0.9); }
.svc-form-benefits .check {
    flex-shrink: 0; margin-top: 2px;
    width: 22px; height: 22px; border-radius: 9999px;
    background: rgba(34,197,94,0.18); color: #22c55e;
    display: inline-flex; align-items: center; justify-content: center;
    font-weight: 900; font-size: 14px;
}
.svc-form-contact {
    margin-top: 28px; padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,0.12);
    color: rgba(255,255,255,0.76);
}
.svc-form-contact div { display: flex; align-items: center; gap: 10px; padding: 4px 0; font-size: 0.95rem; }
.svc-form-contact a { color: rgba(255,255,255,0.88); text-decoration: none; }
.svc-form-contact a:hover { color: #fff; }

.svc-form-card {
    background: #fff;
    border-radius: 26px;
    padding: 36px;
    box-shadow: 0 30px 70px rgba(0,0,0,0.25);
    color: var(--svc-text);
}
@media (max-width: 640px) { .svc-form-card { padding: 24px; border-radius: 20px; } }

.svc-field { margin-bottom: 16px; }
.svc-field.row { display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 560px) { .svc-field.row { grid-template-columns: 1fr 1fr; } }
.svc-field.row > div { margin: 0; }
.svc-label {
    display: block;
    font-size: 11px;
    font-weight: 800;
    color: var(--svc-muted);
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin-bottom: 8px;
}
.svc-input, .svc-select, .svc-textarea {
    width: 100%;
    padding: 14px 16px;
    border-radius: 12px;
    border: 1.5px solid var(--svc-border);
    background: #fff;
    font-size: 1rem;
    color: var(--svc-blue);
    font-family: inherit;
    transition: border-color .2s, box-shadow .2s;
}
.svc-input:focus, .svc-select:focus, .svc-textarea:focus {
    outline: none;
    border-color: var(--svc-red);
    box-shadow: 0 0 0 4px rgba(255,58,45,0.12);
}
.svc-input.error, .svc-select.error { border-color: #ef4444; animation: svcShake .35s ease-in-out; }
@keyframes svcShake {
    0%,100% { transform: translateX(0); }
    25%     { transform: translateX(-5px); }
    75%     { transform: translateX(5px); }
}
.svc-textarea { resize: vertical; min-height: 96px; }

.svc-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 12px; color: var(--svc-muted); margin: 10px 0 20px; }
.svc-consent input[type=checkbox] { margin-top: 2px; }
.svc-consent a { color: var(--svc-red); text-decoration: underline; }

.svc-submit {
    width: 100%;
    display: inline-flex; align-items: center; justify-content: center; gap: 12px;
    padding: 16px 20px;
    border-radius: 12px;
    background: var(--svc-red);
    color: #fff;
    border: none;
    font-weight: 900;
    font-size: 0.95rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(255,58,45,0.35);
    transition: background .2s, transform .2s, box-shadow .2s;
}
.svc-submit:hover:not([disabled]) { background: #e02e22; transform: translateY(-2px); box-shadow: 0 18px 36px rgba(255,58,45,0.45); }
.svc-submit[disabled] { opacity: 0.7; cursor: wait; }
.svc-form-note { text-align: center; color: var(--svc-muted); font-size: 12px; margin-top: 12px; }
.svc-error-box {
    display: none;
    margin-top: 16px; padding: 14px 18px;
    border-radius: 12px;
    background: #fee2e2; border: 1px solid #fecaca;
    color: #b91c1c; font-size: 0.92rem;
}
.svc-error-box.show { display: block; }

/* ========== FAQ ========== */
.svc-faq details {
    background: var(--svc-bg-2);
    border-radius: var(--svc-radius);
    border: 1px solid var(--svc-border);
    padding: 20px 24px;
    margin-bottom: 10px;
    transition: border-color .2s;
}
.svc-faq details[open] { border-color: rgba(45,122,184,0.4); }
.svc-faq summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    font-weight: 800;
    color: var(--svc-blue);
    font-size: 1.02rem;
    line-height: 1.3;
}
.svc-faq summary::-webkit-details-marker { display: none; }
.svc-faq summary .arrow {
    width: 22px; height: 22px; flex-shrink: 0;
    transition: transform .25s;
    color: var(--svc-blue-2);
}
.svc-faq details[open] summary .arrow { transform: rotate(180deg); }
.svc-faq-body { margin-top: 14px; color: var(--svc-muted); font-size: 0.97rem; line-height: 1.6; }
.svc-faq-body strong { color: var(--svc-blue); }

/* ========== /obrigado ========== */
.svc-thanks-hero {
    position: relative;
    overflow: hidden;
    padding: 120px 0 90px;
    background: linear-gradient(135deg, var(--svc-blue) 0%, var(--svc-purple) 50%, var(--svc-navy) 100%);
    color: #fff;
    text-align: center;
}
.svc-thanks-hero::before,
.svc-thanks-hero::after {
    content: '';
    position: absolute; width: 500px; height: 500px; border-radius: 9999px; filter: blur(120px); opacity: 0.15;
}
.svc-thanks-hero::before { background: var(--svc-red); top: -100px; right: -100px; }
.svc-thanks-hero::after  { background: var(--svc-blue-2); bottom: -100px; left: -100px; }
.svc-thanks-check {
    display: inline-flex; align-items: center; justify-content: center;
    width: 84px; height: 84px; border-radius: 9999px;
    background: rgba(34,197,94,0.2);
    border: 1px solid rgba(34,197,94,0.35);
    color: #22c55e;
    margin-bottom: 24px;
    position: relative; z-index: 2;
}
.svc-thanks-hero h1 {
    position: relative; z-index: 2;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 900;
    margin: 0 0 20px;
    line-height: 1.1;
    color: #fff;
}
.svc-thanks-hero p {
    position: relative; z-index: 2;
    font-size: 1.1rem;
    max-width: 640px;
    margin: 0 auto 30px;
    color: rgba(255,255,255,0.84);
    line-height: 1.55;
}
.svc-thanks-id {
    position: relative; z-index: 2;
    display: inline-block;
    padding: 8px 16px;
    border-radius: 9999px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.14);
    font-size: 12px;
    color: rgba(255,255,255,0.72);
    margin-bottom: 30px;
}
.svc-thanks-id code { color: #fff; font-weight: 800; }
.svc-thanks-cta {
    position: relative; z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 14px;
    justify-content: center;
    align-items: center;
}
@media (min-width: 640px) { .svc-thanks-cta { flex-direction: row; } }

/* ========== Cards (listagem e outros-servicos) ========== */
.svc-card-link {
    display: block;
    text-decoration: none;
    color: inherit;
    background: #fff;
    border-radius: var(--svc-radius);
    border: 1px solid var(--svc-border);
    padding: 32px;
    transition: transform .25s, box-shadow .25s, border-color .25s;
}
.svc-card-link:hover {
    transform: translateY(-4px);
    box-shadow: var(--svc-shadow-lg);
    border-color: rgba(255,58,45,0.25);
}
.svc-card-cat {
    font-size: 10px; font-weight: 800; letter-spacing: 2px;
    text-transform: uppercase;
    color: #94a3b8;
    margin-bottom: 10px;
}
.svc-card-link h2, .svc-card-link h3 {
    color: var(--svc-blue);
    font-weight: 900;
    margin: 0 0 12px;
    line-height: 1.2;
    font-size: 1.25rem;
}
.svc-card-link p {
    color: var(--svc-muted);
    font-size: 0.95rem;
    line-height: 1.55;
    margin: 0 0 20px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.svc-card-cta {
    display: inline-flex; align-items: center; gap: 6px;
    color: var(--svc-red);
    font-weight: 800;
    font-size: 0.9rem;
    transition: gap .2s;
}
.svc-card-link:hover .svc-card-cta { gap: 10px; }

/* ========== Thanks grid (obrigado extras) ========== */
.svc-thanks-cards { padding: 80px 0; background: #fff; }
.svc-thanks-cards h2 {
    text-align: center;
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    font-weight: 900;
    color: var(--svc-blue);
    margin: 0 0 40px;
}

/* ========== Print ========== */
@media print {
    .svc-hero, .svc-form-section, .svc-section.dark, .svc-thanks-hero {
        background: #fff !important;
        color: var(--svc-text) !important;
    }
}
