.tz-pl {
    --tz-pl-navy: #07375f;
    --tz-pl-deep: #052b48;
    --tz-pl-blue: #159ec5;
    --tz-pl-teal: #009fbe;
    --tz-pl-sky: #4fc3e8;
    --tz-pl-ink: #33475b;
    --tz-pl-muted: #58748d;
    color: var(--tz-pl-ink);
}
.tz-pl *, .tz-pl *::before, .tz-pl *::after { box-sizing: border-box; }
.tz-pl h1, .tz-pl h2, .tz-pl h3 { margin: 0; color: var(--tz-pl-navy); }
.tz-pl ul { margin: 0; padding: 0; list-style: none; }

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

.tz-pl-hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: clamp(340px, 30vw, 460px);
    overflow: hidden;
    background: var(--tz-pl-deep);
}
.tz-pl-hero--nophoto {
    background: linear-gradient(115deg, #041f36 0%, #06395f 52%, #0a6f93 100%);
}
.tz-pl-hero__photo {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 42%;
}
/* Veu escuro a esquerda para o texto branco ter contraste sobre a foto. */
.tz-pl-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(4, 27, 45, .92) 0%, rgba(4, 30, 50, .82) 26%, rgba(5, 40, 65, .42) 52%, rgba(6, 48, 78, .18) 74%, rgba(6, 48, 78, .1) 100%);
}
.tz-pl-hero__content {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: clamp(40px, 4.6vw, 70px) 24px clamp(70px, 7vw, 108px);
}
.tz-pl-hero__copy { max-width: 560px; }
.tz-pl-hero__eyebrow {
    position: relative;
    display: inline-block;
    margin: 0 0 16px;
    padding: 0 40px;
    color: #cfeaf6;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}
.tz-pl-hero__eyebrow::before,
.tz-pl-hero__eyebrow::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 26px;
    height: 2px;
    background: var(--tz-pl-sky);
}
.tz-pl-hero__eyebrow::before { left: 0; }
.tz-pl-hero__eyebrow::after { right: 0; width: 14px; }
.tz-pl-hero h1 {
    margin: 0 0 18px;
    color: #fff;
    font-size: clamp(30px, 3.4vw, 46px);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -.01em;
}
.tz-pl-hero h1 span { color: var(--tz-pl-sky); }
.tz-pl-hero__text {
    max-width: 440px;
    margin: 0;
    color: rgba(255, 255, 255, .88);
    font-size: 16px;
    line-height: 1.62;
}
.tz-pl-hero__keywords {
    flex: 0 0 auto;
    align-self: center;
    padding-bottom: 10px;
    text-align: left;
}
.tz-pl-hero__keywords li {
    color: #eaf6fb;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .16em;
    line-height: 2.05;
    text-transform: uppercase;
}
.tz-pl-hero__keywords li:last-child { position: relative; }
.tz-pl-hero__keywords li:last-child::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -10px;
    width: 76px;
    height: 3px;
    background: var(--tz-pl-sky);
}
.tz-pl-wave {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    z-index: 3;
    display: block;
    width: 100%;
    height: clamp(46px, 5vw, 80px);
}

/* ---------------- Grade de plataformas ---------------- */

.tz-pl-grid-section {
    max-width: 1320px;
    margin: 0 auto;
    padding: clamp(34px, 4vw, 56px) 24px clamp(40px, 5vw, 64px);
}
.tz-pl-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    align-items: end;
    gap: 36px;
    margin-bottom: clamp(26px, 3vw, 42px);
}
.tz-pl-eyebrow {
    position: relative;
    display: inline-block;
    margin: 0 0 10px;
    padding-right: 54px;
    color: var(--tz-pl-navy);
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.tz-pl-eyebrow::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    width: 40px;
    height: 2px;
    background: var(--tz-pl-blue);
}
.tz-pl-intro h2 {
    font-size: clamp(25px, 2.9vw, 38px);
    font-weight: 800;
    line-height: 1.16;
}
.tz-pl-intro h2 span { color: var(--tz-pl-blue); }
.tz-pl-intro__text {
    margin: 0 0 6px;
    color: var(--tz-pl-muted);
    font-size: 15px;
    line-height: 1.65;
}

.tz-pl-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(18px, 2vw, 26px);
}
.tz-pl-card {
    display: flex;
    flex-direction: column;
    padding: 14px;
    background: #fff;
    border: 1px solid #e4eef4;
    border-radius: 16px;
    box-shadow: 0 10px 26px rgba(7, 55, 95, .07);
    transition: transform .18s ease, box-shadow .18s ease;
}
.tz-pl-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 38px rgba(7, 55, 95, .13);
}
.tz-pl-card__thumb {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-radius: 11px;
    background: #0a2f4a;
}
.tz-pl-card__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Mock de tela: placeholder da marca ate entrarem os screenshots reais. */
.tz-pl-card__thumb--mock {
    display: grid;
    place-items: center;
    padding: 26px 18px 18px;
    background:
        radial-gradient(120% 100% at 8% 0%, rgba(79, 195, 232, .34) 0%, rgba(79, 195, 232, 0) 58%),
        linear-gradient(135deg, #073a5e calc(var(--tz-pl-i) * 0%), #0b5f7f 55%, #0d7f88 100%);
}
.tz-pl-card__chrome {
    position: absolute;
    top: 10px;
    left: 12px;
    display: flex;
    gap: 5px;
}
.tz-pl-card__chrome i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .45);
}
.tz-pl-card__mocklabel {
    color: #fff;
    font-size: 15px;
    font-weight: 750;
    line-height: 1.35;
    text-align: center;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .28);
}
.tz-pl-card__body {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 14px;
    flex: 1;
    padding: 16px 6px 6px;
}
.tz-pl-card__text h3 {
    margin: 0 0 8px;
    color: var(--tz-pl-navy);
    font-size: 17px;
    font-weight: 750;
    line-height: 1.28;
}
.tz-pl-card__text p {
    margin: 0;
    color: var(--tz-pl-muted);
    font-size: 14px;
    line-height: 1.55;
}
.tz-pl-card__go {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    border: 1.5px solid var(--tz-pl-teal);
    border-radius: 50%;
    color: var(--tz-pl-teal);
    font-size: 15px;
    line-height: 1;
    transition: background .15s ease, color .15s ease;
}
a.tz-pl-card__go:hover { background: var(--tz-pl-teal); color: #fff; }
.tz-pl-card__go--static { opacity: .45; }

/* ---------------- CTA ---------------- */

.tz-pl-cta {
    margin-top: clamp(10px, 2vw, 22px);
    background: linear-gradient(100deg, #04314f 0%, #0a5c86 100%);
}
.tz-pl-cta__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 26px;
    flex-wrap: wrap;
    max-width: 1320px;
    margin: 0 auto;
    padding: clamp(36px, 4vw, 56px) 24px;
}
.tz-pl-cta__icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 60px;
    height: 60px;
    color: var(--tz-pl-sky);
}
.tz-pl-cta__icon svg { width: 44px; height: 44px; fill: currentColor; }
.tz-pl-cta__copy { flex: 1 1 340px; }
.tz-pl-cta h2 {
    margin: 0 0 8px;
    color: #fff;
    font-size: clamp(20px, 2.3vw, 28px);
    font-weight: 780;
    line-height: 1.28;
}
.tz-pl-cta h2 span { color: var(--tz-pl-sky); }
.tz-pl-cta__copy p {
    margin: 0;
    color: rgba(255, 255, 255, .84);
    font-size: 15px;
}
.tz-pl-cta__button {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 28px;
    border: 1.5px solid rgba(255, 255, 255, .6);
    border-radius: 999px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
    transition: background .15s ease;
}
.tz-pl-cta__button:hover { background: rgba(255, 255, 255, .14); }

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

@media (max-width: 1080px) {
    .tz-pl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
    .tz-pl-hero__content { flex-direction: column; align-items: flex-start; gap: 24px; }
    .tz-pl-hero__keywords { display: flex; flex-wrap: wrap; gap: 6px 18px; align-self: flex-start; }
    .tz-pl-hero__keywords li { line-height: 1.6; font-size: 11px; }
    .tz-pl-hero__keywords li:last-child::after { display: none; }
    .tz-pl-intro { grid-template-columns: 1fr; align-items: start; gap: 16px; }
    .tz-pl-cta__inner { flex-direction: column; text-align: center; }
}
@media (max-width: 620px) {
    .tz-pl-grid { grid-template-columns: 1fr; }
    .tz-pl-grid-section { padding-left: 18px; padding-right: 18px; }
    .tz-pl-hero__content { padding-left: 18px; padding-right: 18px; }
    .tz-pl-hero__text { max-width: none; }
}
/* Page framing follows the shared Terrazul header and the supplied composition. */
body.page-id-3147 #content > .ast-container { display:block; max-width:1200px; padding:0; margin:0 auto; }
body.page-id-3147 #primary { width:100%; margin:0; padding:0; }
body.page-id-3147 #secondary, body.page-id-3147 .entry-header { display:none; }
body.page-id-3147 article.page { padding:0!important; background:transparent; }
body.page-id-3147 .entry-content { margin:0; }
body.page-id-3147 .entry-content > p:empty { display:none; }
body.page-id-3147 #masthead { position:relative!important; background:#fff!important; }
.tz-pl { background:linear-gradient(115deg,#fff,#f4fbfd); max-width:1200px; margin:auto; }
.tz-pl-hero { min-height:370px; }
.tz-pl-hero__content { padding:44px 5.4% 76px; }
.tz-pl-hero__copy { max-width:440px; }
.tz-pl-hero__text { max-width:365px; line-height:1.35; }
.tz-pl-hero h1 { font-size:clamp(32px,3.8vw,48px); line-height:1.02; letter-spacing:-.035em; margin-bottom:14px; }
.tz-pl-hero h1 span,.tz-pl-cta h2 span { color:#00d1e5; }
.tz-pl-hero::after { background:linear-gradient(90deg,rgba(0,57,77,.86),rgba(0,39,59,.30) 52%,rgba(0,35,55,.25)); }
.tz-pl-wave { height:85px; }
.tz-pl-grid-section { padding:28px 4% 20px; }
.tz-pl-intro { grid-template-columns:1.8fr 1fr; gap:32px; margin-bottom:24px; }
.tz-pl-intro h2 { font-size:clamp(26px,3vw,36px); letter-spacing:-.04em; }
.tz-pl-intro__text { font-size:14px; line-height:1.4; }
.tz-pl-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.tz-pl-card { padding:8px; border-radius:12px; box-shadow:0 2px 12px #07375f0b; background:linear-gradient(#fff,#f7fcfe); }
.tz-pl-card__thumb { aspect-ratio:1.95; border-radius:6px; }
.tz-pl-card__thumb--mock { padding:0; display:block; background:#eef6f8; }
.tz-pl-preview { display:block; width:100%; height:100%; }
.tz-pl-card__body { padding:9px 7px 6px; gap:12px; align-items:center; }
.tz-pl-card__text h3 { font-size:16px; line-height:1.2; margin-bottom:4px; }
.tz-pl-card__text p { font-size:13px; line-height:1.35; }
.tz-pl-card__go { width:34px; height:34px; text-decoration:none; }
.tz-pl-card__go--static { opacity:1; }
.tz-pl-cta { margin:0; background:linear-gradient(90deg,#005879e8,#004664df),url('hero.png') center 70%/cover; }
.tz-pl-cta__inner { padding:36px 7%; gap:26px; }
.tz-pl-cta__icon { width:110px; height:90px; }
.tz-pl-cta__icon svg { width:100px; height:100px; }
.tz-pl-cta__copy { flex:1; }
.tz-pl-cta__button { color:#fff!important; text-decoration:none!important; }
.tz-pl a:focus-visible { outline:3px solid #00b9d4; outline-offset:4px; }
@media(max-width:900px) {
 .tz-pl-intro { grid-template-columns:1fr; gap:14px; }
 .tz-pl-hero__content { flex-direction:row; }
 .tz-pl-hero__keywords { display:none; }
 .tz-pl-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .tz-pl-cta__copy { flex:auto; }
}
@media(max-width:600px) {
 .tz-pl-grid { grid-template-columns:1fr; gap:16px; }
 .tz-pl-grid-section { padding:26px 18px; }
 .tz-pl-hero__content { padding:38px 22px 80px; }
 .tz-pl-hero__text { font-size:15px; }
 .tz-pl-card__text p { font-size:14px; }
 .tz-pl-cta__inner { padding:28px 20px; }
 .tz-pl-cta__icon { height:65px; }
}
.tz-pl-grid-section,
.tz-pl-cta {
    scroll-margin-top: 120px;
}

.tz-pl-card {
    scroll-margin-top: 140px;
}
