:root {
      --bg: #ffffff;
      --fg: #0f172a; /* slate-900 */
      --muted: #475569; /* slate-600 */
      --brand: #16a34a; /* green-600 */
      --brand-700: #15803d;
      --card: #f8fafc; /* slate-50 */
      --border: #e2e8f0; /* slate-200 */
      --radius: 16px;
      --shadow: 0 10px 30px rgba(2,6,23,.08);
    }
    * { box-sizing: border-box; }
    html, body { height: 100%; scroll-behavior: smooth; }
    body {
      margin: 0; font: 16px/1.6 system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji";
      color: var(--fg); background: var(--bg);
    }
    img { max-width: 100%; display: block; }
    a { color: inherit; text-decoration: none; }

    /* Container */
    .wrap { width: min(1120px, 92vw); margin: 0 auto; }

    /* Header */
    .header { position: sticky; top: 0; z-index: 50; backdrop-filter: saturate(180%) blur(8px); background: rgba(255,255,255,.8); border-bottom: 1px solid var(--border); }
    .nav { display:flex; align-items:center; justify-content:space-between; padding: .9rem 0; }
    .brand { display:flex; gap:.6rem; align-items:center; font-weight:700; letter-spacing:.2px; }
    .brand .logo { width: 36px; height: 36px; border-radius: 9px; background: linear-gradient(135deg, #22c55e, #16a34a); display:grid; place-items:center; color:white; font-weight:800; box-shadow: var(--shadow); }
    .menu { display:flex; gap: 1.2rem; align-items:center; }
    .menu a { color: var(--muted); font-weight:600; }
    .menu a:hover { color: var(--fg); }
    .btn { display:inline-flex; align-items:center; gap:.5rem; padding:.8rem 1rem; border-radius: 999px; border:1px solid var(--border); background:#fff; box-shadow: 0 2px 0 rgba(2,6,23,.04); font-weight:700; }
    .btn.primary { background: var(--brand); color: #fff; border-color: transparent; }
    .btn.primary:hover { background: var(--brand-700); }
    .btn.ghost:hover { border-color: #cbd5e1; }

    /* Hero */
    .hero { padding: 72px 0 40px; }
    .hero-grid { display:grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items:center; }
    .eyebrow { color: var(--brand-700); font-weight:800; letter-spacing:.12em; text-transform: uppercase; font-size:.8rem; }
    h1 { margin:.4rem 0 1rem; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.15; letter-spacing:-.02em; }
    .lead { color: var(--muted); font-size: 1.05rem; }
    .hero-cta { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.2rem; }
    .hero .card { background: var(--card); padding: 12px; border-radius: var(--radius); border:1px solid var(--border); box-shadow: var(--shadow); }
    .hero-img { border-radius: calc(var(--radius) + 8px); overflow:hidden; box-shadow: var(--shadow); }

    /* Sections */
    section { padding: 72px 0; }
    h2 { font-size: clamp(1.6rem, 3vw, 2rem); margin: 0 0 16px; }
    .sub { color: var(--muted); margin-top: -6px; }

    /* Cards grid */
    .grid { display:grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 24px; }
    .card { background: #fff; border:1px solid var(--border); border-radius: var(--radius); padding: 22px; box-shadow: var(--shadow); }
    .card h3 { margin: 0 0 6px; font-size: 1.05rem; }
    .muted { color: var(--muted); }

    /* About */
    .about { display:grid; grid-template-columns: .9fr 1.1fr; gap: 36px; align-items:center; }
    .about .photo { border-radius: var(--radius); overflow:hidden; background:#f1f5f9; box-shadow: var(--shadow); }

    /* Steps */
    .steps { display:grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
    .step { padding: 18px; border:1px solid var(--border); border-radius: var(--radius); background:#fff; }
    .step .n { width: 32px; height: 32px; display:grid; place-items:center; border-radius: 10px; background: var(--card); border:1px solid var(--border); font-weight:700; margin-bottom:8px; }

    /* FAQ */
    .faq { max-width: 900px; margin: 0 auto; }
    .faq details { border:1px solid var(--border); border-radius: 12px; padding: 14px 16px; background:#fff; box-shadow: var(--shadow); }
    .faq details + details { margin-top: 10px; }
    .faq summary { cursor: pointer; font-weight: 700; }
    .faq p { margin:.6rem 0 0; color: var(--muted); }

    /* CTA strip */
    .strip { background: linear-gradient(180deg, #f8fafc, #ffffff); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
    .strip .box { display:flex; gap:16px; align-items:center; justify-content:space-between; padding: 22px; border:1px dashed var(--border); border-radius: 14px; background: #fff; }

    /* ===== ESPECIALIDADES (faixa verde + cards sobrepostos) ===== */
    .specialties-band {
        position: relative;
        padding: 64px 0 120px;           /* mais respiro */
        background: #2f7d2f;             /* verde sólido para contraste melhor */
        overflow: hidden;
        }
        .specialties-band::after{
        /* cria a “quebra” branca por trás dos cards */
        content:"";
        position:absolute;
        left:0; right:0; bottom:0;
        height: 56px;                     /* altura da faixa branca */
        background:#ffffff;
        }

        .specialties-band h2 { 
        color: #fff; 
        margin: 0 0 8px;
        }
        .sub-light {
        color: rgba(255,255,255,.92);     /* subtítulo claro sobre verde */
        margin-top: 0;
        }

        /* grade dos cards */
        .services-icons {
        display:grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 22px;
        margin-top: 28px;
        transform: translateY(38px);      /* sobrepõe os cards sobre a faixa branca */
        }

        /* card */
        .service-card {
        background: #fff;
        border: 2px solid #2f7d2f;
        border-radius: 18px;
        padding: 28px 22px;
        text-align: center;
        box-shadow: 0 14px 30px rgba(47,125,47,.14);
        transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
        display:flex; flex-direction:column; align-items:center; justify-content:center;
        min-height: 160px;                /* altura consistente */
        }
        .service-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 20px 44px rgba(47,125,47,.20);
        border-color: #1f6b1f;
        }

        .service-card svg {
        width: 46px; height: 46px;
        color: #2f7d2f;
        margin-bottom: 12px;
        }
        .service-card h3 {
        color: #2f7d2f;
        margin: 0;
        font-size: 1.1rem;
        line-height: 1.35;
        font-weight: 700;
        }

        /* Responsivo */
        @media (max-width: 1024px){
        .services-icons { grid-template-columns: 1fr 1fr; }
        }
        @media (max-width: 560px){
        .services-icons { grid-template-columns: 1fr; }
        }
    /* Footer */
    footer { padding: 40px 0; border-top:1px solid var(--border); color: var(--muted); font-size: .95rem; }

    /* Floating WhatsApp */
    .fab { position: fixed; right: 18px; bottom: 18px; width: 56px; height: 56px; border-radius: 999px; display:grid; place-items:center; background:#22c55e; color:#fff; box-shadow: var(--shadow); z-index: 60; }
    .fab:hover { background:#16a34a; }

    /* Responsive */
    @media (max-width: 960px) {
      .hero-grid, .about { grid-template-columns: 1fr; }
      .grid { grid-template-columns: 1fr; }
      .steps { grid-template-columns: 1fr; }
      .menu-desktop { display:none; }
      .services-icons { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 560px) {
      .services-icons { grid-template-columns: 1fr; }
    }