/* Modelo 19 · Tech & Digital — clases .td */
.pmc-m-tech-digital { --td-c: var(--pmc-primary, #4f46e5); --td-soft: var(--pmc-secondary, #eef2ff); --td-v: #7c3aed; --td-ink: #0f1030; --td-muted: #545677; --td-line: #e2e4f3; background: #fafaff; color: var(--td-ink); font-family: var(--pmc-font); }
.td { max-width: 46rem; margin: 0 auto; padding-bottom: 1.5rem; overflow: hidden; }
.td-head { position: relative; padding: 1.5rem 1.25rem 2.5rem; background: #0f1030; color: #fff; isolation: isolate; overflow: hidden; }
.td-glow { position: absolute; inset: 0; z-index: -1; background: radial-gradient(28rem 18rem at 85% 0%, color-mix(in srgb, var(--td-c) 70%, transparent), transparent 70%), radial-gradient(20rem 14rem at 0% 100%, color-mix(in srgb, var(--td-v) 55%, transparent), transparent 70%); }
.td-glow::after { content: ''; position: absolute; inset: 0; background-image: radial-gradient(rgb(255 255 255 / .14) 1px, transparent 1px); background-size: 18px 18px; mask-image: linear-gradient(to bottom, #000, transparent 85%); }
.td-bar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 2.25rem; }
.td-logo { width: 3rem; height: 3rem; border-radius: .85rem; display: grid; place-items: center; overflow: hidden; background: linear-gradient(135deg, var(--pmc-primary-strong, var(--td-c)), var(--pmc-strong-deep, var(--td-v))); color: var(--pmc-on-strong, #fff); }
.td-logo-img { width: 100%; height: 100%; object-fit: cover; background: #fff; }
.td-site { display: inline-flex; align-items: center; gap: .35rem; min-height: 2.5rem; padding: 0 .9rem; border-radius: 999px; border: 1px solid rgb(255 255 255 / .2); background: rgb(255 255 255 / .06); color: #fff; font-size: .9rem; text-decoration: none; max-width: 60%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.td-site .pmc-icon { flex: none; width: 16px; height: 16px; transform: rotate(-45deg); }
.td-name { margin: 0; font: 700 clamp(2rem, 9vw, 3rem)/1.05 var(--pmc-display); letter-spacing: -.03em; overflow-wrap: break-word; hyphens: auto; }
.td-tagline { margin: .75rem 0 0; font-size: 1.1rem; line-height: 1.5; color: rgb(255 255 255 / .78); max-width: 30rem; }
.td-ctas { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.75rem; }
.td-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 3rem; padding: .6rem 1.25rem; border-radius: .75rem; border: 1px solid var(--td-line); background: #fff; color: var(--td-ink); font: 600 1rem var(--pmc-display); text-decoration: none; cursor: pointer; }
.td-btn[hidden] { display: none; }
.td-btn-main { flex: 1 1 12rem; border: 0; background: linear-gradient(135deg, var(--pmc-primary-strong, var(--td-c)), var(--pmc-strong-deep, var(--td-v))); color: var(--pmc-on-strong, #fff); box-shadow: 0 10px 30px -10px var(--td-c); }
.td-btn-ghost { flex: 1 1 9rem; background: transparent; border-color: rgb(255 255 255 / .25); color: #fff; }
.td-btn-light { margin-top: 1.25rem; border: 0; color: var(--pmc-primary-ink, var(--td-c)); }
.td-btn:focus-visible, .td-site:focus-visible, .td-card-foot a:focus-visible, .td-links-list a:focus-visible, .td-shots a:focus-visible, .td-contact a:focus-visible, .td-social a:focus-visible { outline: 3px solid var(--td-c); outline-offset: 2px; }
.td-head .td-btn:focus-visible, .td-site:focus-visible, .td-cta .td-btn:focus-visible { outline-color: #fff; }
.td-section { padding: 2.5rem 1.25rem 0; }
.td-kicker { margin: 0 0 .35rem; font: 600 .8rem var(--pmc-display); letter-spacing: .14em; text-transform: uppercase; color: var(--pmc-primary-ink, var(--td-c)); }
.td-h2 { margin: 0 0 1.1rem; font: 700 1.6rem/1.15 var(--pmc-display); letter-spacing: -.02em; }
.td-text p { margin: 0 0 .8rem; font-size: 1.08rem; line-height: 1.7; color: var(--td-muted); }
.td-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.td-cards > li { display: flex; flex-direction: column; padding: 1.25rem; border-radius: 1rem; background: #fff; border: 1px solid var(--td-line); box-shadow: 0 1px 2px rgb(15 16 48 / .04); }
.td-idx { font: 600 .8rem var(--pmc-display); color: var(--td-muted); }
.td-cards h3 { margin: .4rem 0 0; font: 600 1.15rem/1.25 var(--pmc-display); }
.td-cards p { margin: .35rem 0 0; color: var(--td-muted); line-height: 1.5; }
.td-card-foot { margin-top: auto; padding-top: 1rem; display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.td-price { font: 600 1rem var(--pmc-display); }
.td-price.is-quote { color: var(--td-muted); font-weight: 500; }
.td-card-foot a { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--td-soft); color: var(--pmc-primary-ink, var(--td-c)); }
.td-tech { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .45rem; }
.td-tech li { padding: .45rem .85rem; border-radius: .6rem; background: var(--td-soft); color: var(--td-ink); font: 500 .92rem ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; border: 1px solid color-mix(in srgb, var(--td-c) 15%, transparent); }
.td-shots { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; }
.td-shots a { display: block; border-radius: .9rem; overflow: hidden; background: #fff; border: 1px solid var(--td-line); box-shadow: 0 12px 30px -16px rgb(15 16 48 / .3); }
.td-dots { display: block; height: 1.6rem; background: radial-gradient(circle at .9rem 50%, #f87171 .28rem, transparent .3rem), radial-gradient(circle at 1.75rem 50%, #fbbf24 .28rem, transparent .3rem), radial-gradient(circle at 2.6rem 50%, #34d399 .28rem, transparent .3rem), #f1f2f9; }
.td-shots img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.td-links-list { list-style: none; margin: .9rem 0 0; padding: 0; display: grid; gap: .5rem; }
.td-links-list a { display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 3rem; padding: .6rem 1rem; border-radius: .75rem; background: #fff; border: 1px solid var(--td-line); color: var(--td-ink); font-weight: 600; text-decoration: none; }
.td-links-list .pmc-icon { flex: none; color: var(--pmc-primary-ink, var(--td-c)); transform: rotate(-45deg); }
.td-cta { margin: 2.5rem 1.25rem 0; padding: 2rem 1.5rem; border-radius: 1.25rem; background: linear-gradient(135deg, var(--pmc-primary-strong, var(--td-c)), var(--pmc-strong-deep, var(--td-v))); color: var(--pmc-on-strong, #fff); }
.td-cta .td-h2 { color: inherit; }
.td-cta p { margin: 0; color: inherit; line-height: 1.6; }
.td-contact { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.td-contact a { display: flex; gap: .65rem; align-items: center; padding: .8rem 1rem; border-radius: .75rem; background: #fff; border: 1px solid var(--td-line); color: var(--td-ink); text-decoration: none; word-break: break-word; }
.td-contact .pmc-icon { flex: none; color: var(--pmc-primary-ink, var(--td-c)); }
.td-hours { width: 100%; border-collapse: collapse; margin-top: 1rem; }
.td-hours th, .td-hours td { padding: .4rem 0; text-align: left; font-weight: 400; color: var(--td-muted); }
.td-hours td { text-align: right; color: var(--td-ink); font-weight: 600; }
.td-hours-note { color: var(--td-muted); font-size: .9rem; }
.td-row { display: flex; flex-wrap: wrap; gap: .5rem; }
.td-row .td-btn { flex: 1 1 10rem; }
.td-social { list-style: none; margin: 1rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.td-social a { display: inline-flex; align-items: center; min-height: 2.5rem; padding: .3rem .9rem; border-radius: 999px; border: 1px solid var(--td-line); background: #fff; color: var(--td-ink); text-decoration: none; }
.td-foot { text-align: center; margin-top: 2rem; font-size: .8rem; }
.td-foot a { color: var(--td-muted); }
@media (min-width: 40rem) { .td { padding-top: 1rem; } .td-head { border-radius: 1.25rem; padding: 2rem 2.25rem 3rem; } .td-section { padding-left: 0; padding-right: 0; } .td-cards { grid-template-columns: 1fr 1fr; } .td-shots { grid-template-columns: 1fr 1fr; } .td-cta { margin-left: 0; margin-right: 0; padding: 2.5rem; } }
