/* TEKHNE Layout 2 PRO v1.3 */
.tekhne-layout2 {
    --tl2-blue:#0576ff;
    --tl2-blue-2:#00a6ff;
    --tl2-navy:#071a3f;
    --tl2-orange:#ff8a00;
    --tl2-text:#0a1b3d;
    --tl2-muted:#5d6d84;
    --tl2-line:#dfeaf7;
    --tl2-soft:#f4f9ff;
    --tl2-white:#fff;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color:var(--tl2-text);
    background:#fff;
    overflow-x:hidden;
}
.tekhne-layout2 * { box-sizing:border-box; }
.tekhne-layout2 img { max-width:100%; display:block; }
.tekhne-layout2 svg { width:1em; height:1em; fill:currentColor; display:inline-block; vertical-align:-0.15em; }
.tekhne-layout2 a { text-decoration:none; }
.tl2-shell { width:min(1180px, calc(100% - 48px)); margin:0 auto; }
.tl2-header { position:sticky; top:0; z-index:1000; background:rgba(255,255,255,.97); backdrop-filter:blur(16px); border-bottom:1px solid rgba(10,40,90,.08); }
.tl2-header-inner { min-height:74px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.tl2-logo { display:flex; align-items:center; gap:10px; color:var(--tl2-text); white-space:nowrap; }
.tl2-logo-mark { width:38px; height:38px; border-radius:10px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#14d5ff 0%,#006eff 100%); color:#fff; box-shadow:0 10px 24px rgba(0,112,255,.18); }
.tl2-logo-mark svg { width:28px; height:28px; }
.tl2-logo-text { font-size:1.62rem; font-weight:950; letter-spacing:-.04em; }
.tl2-header-cta { min-height:44px; display:inline-flex; align-items:center; gap:9px; padding:0 20px; border-radius:8px; color:#fff!important; font-weight:950; background:linear-gradient(135deg,#006aff,#00a3ff); box-shadow:0 14px 28px rgba(0,106,255,.24); }
.tl2-hero { position:relative; overflow:hidden; background:radial-gradient(circle at 10% 10%,rgba(0,118,255,.08),transparent 28%), linear-gradient(135deg,#fff 0%,#f7fbff 54%,#eaf6ff 100%); padding:58px 0 52px; }
.tl2-hero:before { content:""; position:absolute; inset:auto -10% -42% auto; width:600px; height:600px; background:radial-gradient(circle, rgba(0,166,255,.18), transparent 68%); }
.tl2-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); gap:54px; align-items:center; }
.tl2-kicker { display:inline-flex; color:var(--tl2-blue); text-transform:uppercase; letter-spacing:.12em; font-size:.76rem; font-weight:950; margin-bottom:18px; }
.tl2-hero-copy { min-width:0; }
.tl2-hero-copy h1 { margin:0; color:var(--tl2-text); font-size:clamp(3rem,4.9vw,5.15rem); line-height:1.01; letter-spacing:-.06em; font-weight:950; max-width:620px; overflow:visible; }
.tl2-hero-copy h1 strong { color:var(--tl2-blue); font-weight:950; }
.tl2-hero-copy p { max-width:555px; margin:24px 0 0; color:#42536f; font-size:1.08rem; line-height:1.72; }
.tl2-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top:28px; }
.tl2-btn { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:13px 22px; border-radius:8px; font-weight:950; transition:.22s ease; }
.tl2-btn:hover { transform:translateY(-2px); }
.tl2-btn-blue { color:#fff!important; background:linear-gradient(135deg,#006aff 0%,#00a3ff 100%); box-shadow:0 16px 32px rgba(0,106,255,.22); }
.tl2-btn-outline { color:var(--tl2-blue)!important; background:#fff; border:1px solid #bdd6ff; }
.tl2-trust-mini { display:flex; align-items:center; gap:12px; margin-top:28px; }
.tl2-trust-mini span { width:42px; height:42px; display:flex; align-items:center; justify-content:center; border-radius:14px; color:var(--tl2-orange); background:#fff; border:1px solid #dce8f7; box-shadow:0 10px 26px rgba(20,70,120,.08); }
.tl2-trust-mini p { margin:0; color:#52627b; font-size:.92rem; line-height:1.35; }
.tl2-trust-mini strong { display:block; color:var(--tl2-text); }
.tl2-hero-visual { position:relative; min-width:0; border-radius:28px; overflow:hidden; box-shadow:0 28px 90px rgba(7,35,80,.16); min-height:455px; }
.tl2-hero-visual:before { content:""; position:absolute; inset:0; z-index:2; background:linear-gradient(90deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,0) 36%), radial-gradient(circle at 18% 74%,rgba(0,166,255,.18),transparent 32%); pointer-events:none; }
.tl2-hero-visual img { width:100%; height:455px; object-fit:cover; object-position:center; }
.tl2-dashboard-card { position:absolute; z-index:3; left:24px; bottom:24px; width:210px; padding:18px; border-radius:18px; background:rgba(255,255,255,.92); border:1px solid rgba(255,255,255,.75); backdrop-filter:blur(16px); box-shadow:0 18px 50px rgba(7,35,80,.16); }
.tl2-dashboard-card span { display:block; color:#66748a; font-size:.8rem; font-weight:800; }
.tl2-dashboard-card strong { display:block; color:var(--tl2-blue); font-size:2rem; line-height:1.05; margin:5px 0; }
.tl2-dashboard-card small { color:var(--tl2-text); font-weight:800; }
.tl2-services { background:#fff; padding:68px 0 62px; }
.tl2-section-head { text-align:center; margin-bottom:32px; }
.tl2-section-head span { display:block; color:var(--tl2-blue); text-transform:uppercase; font-size:.76rem; font-weight:950; letter-spacing:.09em; margin-bottom:8px; }
.tl2-section-head h2 { margin:0; color:var(--tl2-text); font-size:clamp(2rem,3.1vw,2.8rem); letter-spacing:-.035em; line-height:1.1; }
.tl2-section-head p { max-width:720px; margin:12px auto 0; color:var(--tl2-muted); line-height:1.6; }
.tl2-services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.tl2-service-card { overflow:hidden; border:1px solid #dfe9f7; border-radius:16px; background:#fff; box-shadow:0 14px 34px rgba(15,70,140,.07); transition:.22s ease; }
.tl2-service-card:hover { transform:translateY(-6px); box-shadow:0 26px 60px rgba(15,70,140,.14); }
.tl2-service-card img { width:100%; height:155px; object-fit:cover; }
.tl2-service-body { position:relative; padding:0 22px 24px; }
.tl2-service-icon { width:60px; height:60px; margin:-30px 0 16px; display:flex; align-items:center; justify-content:center; border-radius:20px; color:var(--tl2-blue); background:#fff; border:1px solid #cfe2ff; box-shadow:0 14px 28px rgba(0,106,255,.16); }
.tl2-service-icon svg { font-size:2rem; }
.tl2-service-card h3 { margin:0 0 9px; color:var(--tl2-text); font-size:1.14rem; }
.tl2-service-card p { margin:0; color:#516078; line-height:1.55; font-size:.93rem; }
.tl2-metrics { margin-top:24px; display:grid; grid-template-columns:repeat(4,1fr); border:1px solid #dfe9f7; border-radius:18px; background:#fff; overflow:hidden; box-shadow:0 18px 44px rgba(15,70,140,.08); }
.tl2-metrics div { padding:24px 22px; display:grid; grid-template-columns:48px 1fr; column-gap:14px; border-right:1px solid #e7eef9; }
.tl2-metrics div:last-child { border-right:0; }
.tl2-metrics svg { grid-row:1/3; color:var(--tl2-blue); font-size:2.1rem; align-self:center; }
.tl2-metrics strong { color:var(--tl2-text); font-size:1.75rem; line-height:1; }
.tl2-metrics span { color:var(--tl2-muted); font-size:.88rem; line-height:1.35; }
.tl2-value { padding:66px 0 58px; background:linear-gradient(180deg,#f8fbff 0%,#fff 100%); }
.tl2-value-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:42px; align-items:start; }
.tl2-value-copy h2 { margin:0 0 16px; color:var(--tl2-text); font-size:clamp(2rem,3.2vw,3rem); line-height:1.08; letter-spacing:-.035em; }
.tl2-value-copy p { margin:0; color:var(--tl2-muted); line-height:1.7; }
.tl2-value-copy ul { list-style:none; padding:0; margin:22px 0 26px; display:grid; gap:10px; }
.tl2-value-copy li { display:flex; align-items:center; gap:9px; color:var(--tl2-text); font-weight:750; font-size:.94rem; }
.tl2-value-copy li svg { color:var(--tl2-blue); }
.tl2-value-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.tl2-value-card { overflow:hidden; border-radius:16px; background:#fff; border:1px solid #dfe9f7; box-shadow:0 16px 40px rgba(15,70,140,.09); }
.tl2-value-card img { width:100%; height:178px; object-fit:cover; }
.tl2-value-card div { padding:20px; }
.tl2-value-card span { color:var(--tl2-orange); display:inline-flex; margin-bottom:8px; font-size:1.35rem; }
.tl2-value-card h3 { margin:0 0 8px; color:var(--tl2-text); font-size:1.05rem; }
.tl2-value-card p { margin:0; color:var(--tl2-muted); line-height:1.5; font-size:.92rem; }
.tl2-contact { padding:18px 0 58px; background:#fff; }
.tl2-contact-box { position:relative; display:grid; grid-template-columns:1fr .9fr .9fr; gap:28px; align-items:center; padding:30px; border:1px solid #dfe9f7; border-radius:20px; background:linear-gradient(135deg,#fff 0%,#f5faff 100%); box-shadow:0 20px 60px rgba(15,70,140,.1); overflow:hidden; }
.tl2-contact-box h2 { margin:0 0 10px; color:var(--tl2-text); font-size:2rem; letter-spacing:-.035em; }
.tl2-contact-box p { margin:0; color:var(--tl2-muted); line-height:1.6; }
.tl2-contact-actions { display:grid; gap:14px; }
.tl2-contact-data { display:flex; flex-direction:column; gap:8px; color:var(--tl2-muted); font-weight:750; }
.tl2-contact-data span { display:flex; gap:8px; align-items:center; }
.tl2-contact-data svg { color:var(--tl2-blue); }
.tl2-contact-box > img { width:100%; height:210px; object-fit:cover; border-radius:18px; }
.tl2-footer { background:#fff; border-top:1px solid #e7eef9; padding:30px 0 22px; }
.tl2-footer-grid { display:grid; grid-template-columns:1fr auto; gap:30px; align-items:center; }
.tl2-footer-logo .tl2-logo-mark { width:34px; height:34px; }
.tl2-footer p { color:var(--tl2-muted); margin:10px 0 0; }
.tl2-footer-contact { justify-self:end; display:grid; gap:8px; color:var(--tl2-muted); font-weight:750; }
.tl2-footer-contact span { display:flex; gap:8px; align-items:center; }
.tl2-footer-contact svg { color:var(--tl2-blue); }
.tl2-footer-bottom { margin-top:22px; padding-top:18px; border-top:1px solid #edf3fb; text-align:center; color:#7f8da3; font-size:.84rem; }
.tl2-reveal { opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s ease; }
.tl2-reveal.is-visible { opacity:1; transform:translateY(0); }
body.tekhne-layout2-active .entry-title, body.tekhne-layout2-active .entry-header { display:none; }
body.tekhne-layout2-active .site-content .ast-container, body.tekhne-layout2-active .content-area, body.tekhne-layout2-active .site-main, body.tekhne-layout2-active article, body.tekhne-layout2-active .entry-content { max-width:none; width:100%; margin:0; padding:0; }
body.tekhne-layout2-active .entry-content > * { max-width:none; }
@media (max-width:1080px){ .tl2-hero-grid,.tl2-value-grid,.tl2-contact-box{grid-template-columns:1fr;} .tl2-hero-visual img,.tl2-hero-visual{min-height:380px;} .tl2-hero-visual img{height:380px;} .tl2-services-grid,.tl2-value-cards,.tl2-metrics{grid-template-columns:repeat(2,1fr);} }
@media (max-width:680px){ .tl2-shell{width:min(100% - 28px,1180px);} .tl2-header-inner{min-height:66px;} .tl2-logo-text{font-size:1.35rem;} .tl2-logo-mark{width:34px;height:34px;} .tl2-header-cta{padding:0 14px; font-size:.9rem;} .tl2-hero{padding:42px 0 38px;} .tl2-hero-copy h1{font-size:clamp(2.45rem,12vw,3.6rem); letter-spacing:-.05em;} .tl2-actions{flex-direction:column;} .tl2-btn{width:100%;} .tl2-services-grid,.tl2-metrics,.tl2-value-cards{grid-template-columns:1fr;} .tl2-service-card img{height:180px;} .tl2-metrics div{border-right:0; border-bottom:1px solid #e7eef9;} .tl2-metrics div:last-child{border-bottom:0;} .tl2-contact-box{padding:22px;} .tl2-contact-box > img{height:220px;} .tl2-footer-grid{grid-template-columns:1fr;} .tl2-footer-contact{justify-self:start;} }


/* v1.3: logo oficial + animaciones premium */
.tekhne-layout2 { --tl2-red:#ef1738; }
.tl2-header-inner { min-height:86px; }
.tl2-logo img { width:auto; height:66px; max-width:210px; object-fit:contain; }
.tl2-header-cta, .tl2-btn-blue { position:relative; overflow:hidden; }
.tl2-header-cta:before, .tl2-btn-blue:before {
    content:""; position:absolute; inset:0 auto 0 -60%; width:45%; transform:skewX(-18deg);
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.33),transparent);
    animation:tl2-shine 3.4s ease-in-out infinite;
}
.tl2-kicker { align-items:center; gap:8px; }
.tl2-kicker svg { color:var(--tl2-red); }
.tl2-hero:after {
    content:""; position:absolute; inset:0; pointer-events:none; opacity:.55;
    background-image:linear-gradient(rgba(5,118,255,.06) 1px, transparent 1px), linear-gradient(90deg,rgba(5,118,255,.06) 1px, transparent 1px);
    background-size:42px 42px; mask-image:linear-gradient(90deg,transparent,#000 42%,#000 100%);
}
.tl2-orb { position:absolute; border-radius:50%; filter:blur(2px); animation:tl2-float 7s ease-in-out infinite; }
.tl2-orb-a { width:190px; height:190px; right:12%; top:10%; background:radial-gradient(circle,rgba(0,166,255,.18),transparent 68%); }
.tl2-orb-b { width:130px; height:130px; left:42%; bottom:10%; background:radial-gradient(circle,rgba(239,23,56,.12),transparent 68%); animation-delay:1.4s; }
.tl2-hero-visual { transform-style:preserve-3d; transition:transform .2s ease; }
.tl2-hero-visual img { transform:scale(1.03); transition:transform .65s ease; }
.tl2-hero-visual:hover img { transform:scale(1.08); }
.tl2-dashboard-card { animation:tl2-card-float 5s ease-in-out infinite; }
.tl2-trust-mini span { color:var(--tl2-red); animation:tl2-pulse 2.8s ease-in-out infinite; }
.tl2-hero-lines { position:absolute; z-index:3; right:22px; top:26px; display:grid; gap:12px; }
.tl2-hero-lines i { width:120px; height:2px; background:linear-gradient(90deg,transparent,var(--tl2-red),transparent); animation:tl2-line 2.8s ease-in-out infinite; }
.tl2-hero-lines i:nth-child(2) { width:82px; animation-delay:.45s; }
.tl2-hero-lines i:nth-child(3) { width:150px; animation-delay:.9s; }
.tl2-service-card img, .tl2-value-card img { transition:transform .55s ease; }
.tl2-service-card:hover img, .tl2-value-card:hover img { transform:scale(1.07); }
.tl2-service-card:hover .tl2-service-icon { color:#fff; background:linear-gradient(135deg,var(--tl2-blue),var(--tl2-blue-2)); transform:translateY(-4px) rotate(-2deg); }
.tl2-value-card:hover { transform:translateY(-8px); box-shadow:0 30px 70px rgba(15,70,140,.14); }
.tl2-footer-logo img { height:78px; width:auto; object-fit:contain; }
@keyframes tl2-shine { 0%,55% { left:-60%; } 100% { left:120%; } }
@keyframes tl2-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-18px); } }
@keyframes tl2-card-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-9px); } }
@keyframes tl2-pulse { 0%,100% { box-shadow:0 10px 26px rgba(20,70,120,.08); } 50% { box-shadow:0 10px 30px rgba(239,23,56,.22); } }
@keyframes tl2-line { 0%,100% { opacity:.22; transform:translateX(0); } 50% { opacity:.9; transform:translateX(-16px); } }
@media (max-width:680px){ .tl2-logo img{height:54px; max-width:170px;} .tl2-header-inner{min-height:72px;} }
