.tz-sm {
    --tz-sm-navy: #07375f;
    --tz-sm-blue: #159ec5;
    --tz-sm-teal: #009fbe;
    --tz-sm-ink: #33475b;
    --tz-sm-muted: #58748d;
    color: var(--tz-sm-ink);
}
.tz-sm *, .tz-sm *::before, .tz-sm *::after { box-sizing: border-box; }
.tz-sm section { max-width: 1320px; margin: 0 auto; padding: 0 24px; }
.tz-sm h1, .tz-sm h2 { margin: 0; color: var(--tz-sm-navy); }

/* ---------------- Hero ---------------- */

/* Full-bleed: a foto ocupa toda a altura e sangra na borda direita; o lado
   esquerdo se dissolve no fundo claro para o texto respirar por cima. */
.tz-sm-hero {
    position: relative;
    max-width: none;
    display: flex;
    align-items: center;
    min-height: clamp(300px, 26vw, 400px);
    padding: 0;
    overflow: hidden;
    background: #eef6fb;
}
.tz-sm-hero__photo-wrap {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 76%;
    z-index: 1;
}
.tz-sm-hero__photo {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 0;
    box-shadow: none;
    object-fit: cover;
    object-position: 58% 45%;
}
.tz-sm-hero__photo-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #eef6fb 0%, #eef6fb 10%, rgba(238, 246, 251, .72) 26%, rgba(238, 246, 251, .28) 42%, rgba(238, 246, 251, 0) 58%);
}
.tz-sm-hero__content {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: clamp(38px, 4.2vw, 62px) 24px clamp(64px, 7vw, 100px);
}
.tz-sm-hero__copy { max-width: 520px; }
.tz-sm-hero__eyebrow {
    position: relative;
    display: inline-block;
    margin: 0 0 14px;
    padding-right: 56px;
    color: var(--tz-sm-blue);
    font-size: 13px;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.tz-sm-hero__eyebrow::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    width: 42px;
    height: 2px;
    background: var(--tz-sm-blue);
}
.tz-sm-hero__copy h1 {
    margin: 0 0 18px;
    font-size: clamp(30px, 3.3vw, 44px);
    font-weight: 800;
    line-height: 1.14;
    letter-spacing: -.01em;
}
.tz-sm-hero__copy h1 span { color: var(--tz-sm-teal); }
.tz-sm-hero__text {
    max-width: 430px;
    margin: 0 0 26px;
    color: var(--tz-sm-muted);
    font-size: 16px;
    line-height: 1.6;
}
.tz-sm-hero__social { display: flex; gap: 14px; }
.tz-sm-social-icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    color: #fff;
    box-shadow: 0 8px 18px rgba(7, 55, 95, .16);
    transition: transform .15s ease;
}
.tz-sm-social-icon:hover { transform: translateY(-2px); }
.tz-sm-social-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.tz-sm-social-icon--instagram { background: radial-gradient(circle at 30% 110%, #ffdb73 0%, #fd5949 45%, #d6249f 70%, #285aeb 100%); }

/* Assinatura manuscrita sobre a foto, sem cartao branco. */
.tz-sm-hero__badge {
    position: absolute;
    z-index: 3;
    top: 52%;
    right: clamp(16px, 7vw, 104px);
    margin: 0;
    padding: 0 0 12px;
    max-width: none;
    background: none;
    border-radius: 0;
    box-shadow: none;
    color: var(--tz-sm-navy);
    font-family: "Segoe Script", "Bradley Hand", "Brush Script MT", "Snell Roundhand", cursive;
    font-style: normal;
    font-size: clamp(15px, 1.55vw, 22px);
    font-weight: 600;
    line-height: 1.35;
    text-align: left;
    transform: rotate(-8deg);
    transform-origin: right center;
    text-shadow: 0 0 14px rgba(255, 255, 255, .85), 0 0 5px rgba(255, 255, 255, .95);
}
.tz-sm-hero__badge::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    width: 64%;
    height: 10px;
    border-bottom: 3px solid var(--tz-sm-blue);
    border-radius: 0 0 60% 40%;
}

/* A onda encosta na base da foto, cobrindo o corte reto. */
.tz-sm-wave {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    z-index: 4;
    display: block;
    width: 100%;
    height: clamp(48px, 5.5vw, 86px);
}

/* ---------------- Section heading ---------------- */

.tz-sm-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    margin: 0 0 22px;
    padding-top: 52px;
}
.tz-sm-section-heading h2 { font-size: clamp(21px, 2vw, 26px); font-weight: 750; }
.tz-sm-pill-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border: 1.5px solid var(--tz-sm-teal);
    border-radius: 999px;
    color: var(--tz-sm-teal);
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    transition: background .15s ease, color .15s ease;
}
.tz-sm-pill-link:hover { background: var(--tz-sm-teal); color: #fff; }

/* ---------------- Vídeos: só adapta a moldura, o miolo é do plugin existente ---------------- */

.tz-sm-videos { padding-top: 4px; padding-bottom: 12px; }
.tz-sm-videos .tz-videos { margin: 0; border-radius: 20px; }

/* ---------------- Instagram ---------------- */

.tz-sm-instagram { padding-bottom: 20px; }
.tz-sm-instagram__feed { border-radius: 20px; overflow: hidden; }
.tz-sm-instagram__feed #sb_instagram { padding: 0 !important; }

/* ---------------- Responsivo ---------------- */

@media (max-width: 900px) {
    .tz-sm-hero { display: block; min-height: 0; }
    .tz-sm-hero__photo-wrap { position: relative; width: 100%; height: clamp(220px, 46vw, 320px); }
    .tz-sm-hero__photo-wrap::after { background: linear-gradient(180deg, rgba(238, 246, 251, 0) 55%, #eef6fb 100%); }
    .tz-sm-hero__content { padding: 14px 24px 78px; }
    .tz-sm-hero__copy { max-width: none; }
    .tz-sm-hero__badge { top: 10px; right: 14px; font-size: 15px; transform: rotate(-6deg); }
    .tz-sm-hero__badge::after { width: 58%; border-bottom-width: 2px; }
}
@media (max-width: 560px) {
    .tz-sm-hero__content { padding: 12px 18px 70px; }
    .tz-sm section { padding: 0 18px; }
    .tz-sm-section-heading { padding-top: 40px; }
    .tz-sm-hero__text { max-width: none; }
}
