:root{ --tp-primary:#0D3B3E; --tp-accent:#F2A65A; --tp-bg:#F6F2EA; --tp-text:#232728; --tp-muted:#7A8A8E; --tp-radius:20px; }
body{ background: var(--tp-bg); color: var(--tp-text); }
.tp-card{ border-radius: var(--tp-radius); box-shadow: 0 6px 18px rgba(0,0,0,.06); overflow:hidden; background:#fff; }
.tp-badge{ display:inline-block; padding:.25rem .6rem; border-radius:999px; background: color-mix(in srgb, var(--tp-primary) 10%, #fff 90%); color: var(--tp-primary); font-size:12px; font-weight:600; }
.tp-btn .elementor-button, .tp-btn .button{ border-radius:16px; }
.tp-btn--secondary .elementor-button{ background:#fff; color:var(--tp-primary); }
.tp-header{ transition: background .25s ease, box-shadow .25s ease; }
.elementor-sticky--effects .tp-header{ background:#ffffffcc; backdrop-filter: blur(6px); box-shadow:0 6px 18px rgba(0,0,0,.08); }
.tp-img-zoom img{ transition: transform .5s ease; }
.tp-img-zoom:hover img{ transform: scale(1.05); }
.tp-input input{ height:44px; border-radius:16px!important; padding:0 14px!important; border:1px solid #e7e7e7; }