:root{
    --tac-primary:#ff7a00;
    --tac-primary-dark:#e86400;
    --tac-primary-soft:#fff1df;
    --tac-amber:#ffb000;
    --tac-dark:#171717;
    --tac-muted:#6b7280;
    --tac-border:#ece7df;
    --tac-bg:#fffaf4;
    --tac-white:#ffffff;
    --tac-radius:28px;
    --tac-shadow:0 24px 70px rgba(28, 20, 12, .11);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:"Outfit",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:var(--tac-dark);
    background:var(--tac-bg);
    overflow-x:hidden;
}

a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.section-pad{padding:96px 0}
.section-soft{background:#fff}

.tac-header{
    position:sticky;
    top:0;
    z-index:1000;
    background:rgba(255,250,244,.86);
    backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(236,231,223,.8);
}
.tac-nav-wrap{min-height:78px}
.tac-brand img{height:43px;width:auto;display:block}
.tac-menu .nav-link{
    font-weight:700;
    color:#2b2b2b;
    padding:.75rem 1rem!important;
}
.tac-menu .nav-link:hover{color:var(--tac-primary)}
.tac-toggler{
    border:0;
    box-shadow:none!important;
    display:flex;
    flex-direction:column;
    gap:5px;
}
.tac-toggler span{
    display:block;
    width:25px;
    height:2px;
    border-radius:999px;
    background:var(--tac-dark);
}

.btn-tac,
.btn-tac-outline{
    border-radius:999px;
    font-weight:800;
    padding:13px 23px;
    border:1px solid transparent;
}
.btn-tac{
    color:#fff!important;
    background:linear-gradient(135deg,var(--tac-primary),var(--tac-amber));
    box-shadow:0 16px 35px rgba(255,122,0,.26);
}
.btn-tac:hover{filter:brightness(.98);transform:translateY(-1px)}
.btn-tac-outline{
    color:var(--tac-dark)!important;
    background:#fff;
    border-color:var(--tac-border);
}
.btn-tac-outline:hover{border-color:var(--tac-primary);color:var(--tac-primary)!important}
.btn-tac-sm{padding:10px 18px;font-size:.95rem}

.tac-hero{
    position:relative;
    min-height:calc(100vh - 78px);
    display:flex;
    align-items:center;
    background:
        radial-gradient(circle at 12% 10%, rgba(255,122,0,.16), transparent 31%),
        radial-gradient(circle at 88% 16%, rgba(255,176,0,.20), transparent 28%),
        linear-gradient(180deg,#fffaf4 0%,#fff 100%);
}
.tac-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:8px 14px;
    border:1px solid var(--tac-border);
    background:#fff;
    border-radius:999px;
    color:#7a4a1c;
    font-weight:800;
    margin-bottom:24px;
}
.tac-eyebrow span{
    width:10px;
    height:10px;
    background:var(--tac-primary);
    border-radius:50%;
    box-shadow:0 0 0 6px rgba(255,122,0,.14);
}
.tac-hero h1{
    font-size:clamp(2.7rem,6vw,5.7rem);
    letter-spacing:-.07em;
    line-height:.94;
    font-weight:800;
    margin-bottom:24px;
}
.tac-hero-text{
    max-width:620px;
    font-size:1.22rem;
    line-height:1.65;
    color:var(--tac-muted);
    margin-bottom:32px;
}
.tac-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:34px}
.tac-proof{display:flex;gap:16px;flex-wrap:wrap}
.tac-proof div{
    min-width:135px;
    padding:15px 18px;
    background:#fff;
    border:1px solid var(--tac-border);
    border-radius:20px;
}
.tac-proof strong{display:block;font-size:1.35rem;font-weight:800}
.tac-proof span{font-size:.92rem;color:var(--tac-muted)}

.tac-hero-panel{
    position:relative;
    padding:24px;
    border-radius:36px;
    background:rgba(255,255,255,.75);
    border:1px solid rgba(236,231,223,.9);
    box-shadow:var(--tac-shadow);
    overflow:hidden;
}
.tac-hero-panel:before{
    content:"";
    position:absolute;
    inset:auto -70px -90px auto;
    width:240px;
    height:240px;
    background:rgba(255,122,0,.16);
    border-radius:50%;
}
.tac-window-bar{display:flex;gap:8px;margin-bottom:18px}
.tac-window-bar span{width:12px;height:12px;border-radius:50%;background:#e7e0d7}
.tac-window-bar span:first-child{background:var(--tac-primary)}
.tac-dashboard-card,
.tac-mini-card{
    position:relative;
    background:#fff;
    border:1px solid var(--tac-border);
    border-radius:24px;
}
.tac-dashboard-main{
    display:flex;
    justify-content:space-between;
    gap:24px;
    padding:28px;
    margin-bottom:18px;
}
.tac-dashboard-main small{font-weight:800;color:var(--tac-primary);text-transform:uppercase;letter-spacing:.08em}
.tac-dashboard-main h3{font-size:1.8rem;line-height:1.1;margin:8px 0 0;font-weight:800;letter-spacing:-.04em}
.tac-dashboard-main i{font-size:2.8rem;color:var(--tac-primary)}
.tac-dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.tac-mini-card{padding:20px;min-height:145px}
.tac-mini-card i{font-size:1.7rem;color:var(--tac-primary)}
.tac-mini-card strong{display:block;margin-top:16px;font-size:1.15rem}
.tac-mini-card span{display:block;color:var(--tac-muted);font-size:.95rem}
.tac-floating-badge{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-top:18px;
    padding:12px 15px;
    background:#171717;
    color:#fff;
    border-radius:999px;
    font-weight:800;
    font-size:.92rem;
}
.tac-floating-badge i{color:var(--tac-amber)}

.section-title{max-width:760px;margin-bottom:48px}
.section-title span{
    color:var(--tac-primary);
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:.82rem;
    font-weight:800;
}
.section-title h2{
    margin:10px 0 12px;
    font-size:clamp(2rem,4vw,3.35rem);
    font-weight:800;
    letter-spacing:-.055em;
    line-height:1.02;
}
.section-title p{color:var(--tac-muted);font-size:1.12rem;line-height:1.65;margin:0}
.section-title-light h2,.section-title-light p{color:#fff}

.tac-service-card{
    height:100%;
    padding:30px;
    border-radius:var(--tac-radius);
    background:#fff;
    border:1px solid var(--tac-border);
    box-shadow:0 16px 40px rgba(20,20,20,.04);
    transition:.2s ease;
}
.tac-service-card:hover{transform:translateY(-4px);box-shadow:var(--tac-shadow)}
.tac-service-card i{
    display:inline-flex;
    width:56px;
    height:56px;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    background:var(--tac-primary-soft);
    color:var(--tac-primary);
    font-size:1.65rem;
    margin-bottom:22px;
}
.tac-service-card h3{font-size:1.35rem;font-weight:800;margin-bottom:10px}
.tac-service-card p{color:var(--tac-muted);line-height:1.6;margin:0}

.tac-products-preview{
    border:1px solid var(--tac-border);
    background:#fff;
    border-radius:34px;
    box-shadow:var(--tac-shadow);
    overflow:hidden;
}
.tac-product-line{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    padding:26px 30px;
    border-bottom:1px solid var(--tac-border);
}
.tac-product-line:last-child{border-bottom:0}
.tac-product-line strong{display:block;font-size:1.35rem;font-weight:800}
.tac-product-line span{color:var(--tac-muted)}
.tac-product-line i{font-size:2rem;color:var(--tac-primary)}

.section-dark{background:#171717;color:#fff}
.tac-step{
    height:100%;
    padding:28px;
    border-radius:26px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.11);
}
.tac-step b{color:var(--tac-amber);font-size:.95rem;letter-spacing:.12em}
.tac-step h3{font-size:1.35rem;font-weight:800;margin:14px 0 8px}
.tac-step p{color:rgba(255,255,255,.72);margin:0;line-height:1.55}

.tac-contact-box{
    display:grid;
    gap:14px;
    margin-top:28px;
}
.tac-contact-box a,.tac-contact-box span{
    display:flex;
    align-items:center;
    gap:12px;
    padding:16px 18px;
    background:#fff;
    border:1px solid var(--tac-border);
    border-radius:18px;
    font-weight:700;
}
.tac-contact-box i{color:var(--tac-primary);font-size:1.25rem}
.tac-form{
    padding:32px;
    border-radius:32px;
    background:#fff;
    border:1px solid var(--tac-border);
    box-shadow:var(--tac-shadow);
}
.tac-form label{font-weight:800;margin-bottom:8px}
.tac-form .form-control,.tac-form .form-select{
    border-radius:16px;
    border-color:#e6ded4;
    padding:13px 15px;
    box-shadow:none!important;
}
.tac-form .form-control:focus,.tac-form .form-select:focus{border-color:var(--tac-primary)}

.tac-footer{
    padding:30px 0;
    background:#111;
    color:rgba(255,255,255,.72);
}
.tac-footer p{margin:0}
.tac-footer a{margin-left:18px;color:rgba(255,255,255,.72)}
.tac-footer a:hover{color:#fff}
.tac-wa-float{
    position:fixed;
    right:22px;
    bottom:95px;
    z-index:999;
    width:60px;
    height:60px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#25D366;
    color:#fff;
    font-size:1.8rem;
    box-shadow:0 18px 42px rgba(37,211,102,.35);
}

@media (max-width:991px){
    .section-pad{padding:72px 0}
    .navbar-collapse{
        margin-top:12px;
        padding:14px;
        background:#fff;
        border:1px solid var(--tac-border);
        border-radius:22px;
        box-shadow:0 20px 55px rgba(20,20,20,.08);
    }
    .tac-hero{min-height:auto;padding-top:70px}
    .tac-hero-panel{margin-top:10px}
}
@media (max-width:575px){
    .tac-brand img{height:35px}
    .tac-nav-wrap{min-height:68px}
    .tac-hero h1{font-size:2.75rem}
    .tac-hero-actions .btn{width:100%}
    .tac-proof{display:grid;grid-template-columns:1fr;width:100%}
    .tac-dashboard-grid{grid-template-columns:1fr}
    .tac-dashboard-main{padding:22px;display:block}
    .tac-dashboard-main i{display:none}
    .tac-floating-badge{border-radius:18px;align-items:flex-start}
    .tac-product-line{padding:22px;align-items:flex-start}
    .tac-product-line i{display:none}
    .tac-form{padding:22px;border-radius:24px}
    .tac-footer div div{display:flex;flex-wrap:wrap;gap:12px}
    .tac-footer a{margin-left:0}
}

/* Entrega 002 - Productos */
.tac-products-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}
.tac-product-card{
    position:relative;
    min-height:100%;
    padding:26px;
    border:1px solid var(--tac-border);
    background:#fff;
    border-radius:34px;
    box-shadow:0 16px 44px rgba(20,20,20,.05);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}
.tac-product-card:before{
    content:"";
    position:absolute;
    right:-80px;
    top:-80px;
    width:190px;
    height:190px;
    border-radius:50%;
    background:rgba(255,122,0,.08);
}
.tac-product-featured{
    grid-column:span 3;
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
    gap:30px;
    align-items:center;
    padding:34px;
    background:linear-gradient(135deg,#fff 0%,#fff7ed 100%);
}
.tac-product-content{position:relative;z-index:2}
.tac-product-head{
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:18px;
}
.tac-product-icon{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:20px;
    background:var(--tac-primary-soft);
    color:var(--tac-primary);
    font-size:1.75rem;
    flex:0 0 auto;
}
.tac-product-kicker{
    display:block;
    color:var(--tac-primary);
    font-size:.78rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.12em;
    margin-bottom:2px;
}
.tac-product-card h3{
    margin:0;
    font-size:1.85rem;
    font-weight:800;
    letter-spacing:-.045em;
}
.tac-product-featured h3{font-size:2.6rem}
.tac-product-card p{
    color:var(--tac-muted);
    line-height:1.65;
    margin-bottom:18px;
}
.tac-product-list{
    list-style:none;
    padding:0;
    margin:0 0 20px;
    display:grid;
    gap:9px;
}
.tac-product-list li{
    display:flex;
    gap:10px;
    color:#333;
    font-weight:600;
}
.tac-product-list i{color:var(--tac-primary);font-size:1.15rem}
.tac-product-tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:22px;
}
.tac-product-tags span{
    padding:7px 11px;
    border-radius:999px;
    background:#fff7ed;
    border:1px solid #ffe0bd;
    color:#8d4b10;
    font-size:.82rem;
    font-weight:800;
}
.tac-product-actions{display:flex;gap:10px;flex-wrap:wrap}
.tac-product-actions .btn{padding:10px 17px;font-size:.95rem}

.tac-product-mockup{
    position:relative;
    z-index:2;
    padding:20px;
    border-radius:30px;
    background:rgba(255,255,255,.68);
    border:1px solid rgba(236,231,223,.9);
    box-shadow:0 28px 80px rgba(255,122,0,.13);
}
.mock-window{
    padding:22px;
    border-radius:24px;
    background:#fff;
    border:1px solid var(--tac-border);
}
.mock-bar{display:flex;gap:7px;margin-bottom:22px}
.mock-bar span{width:10px;height:10px;border-radius:50%;background:#e8dfd5}.mock-bar span:first-child{background:var(--tac-primary)}
.mock-calendar{
    padding:18px;
    border-radius:20px;
    background:#fff7ed;
    margin-bottom:14px;
}
.mock-calendar b{display:block;font-size:1.25rem;margin-bottom:12px}
.mock-days{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.mock-days span{height:42px;border-radius:14px;background:#fff;border:1px solid #ffe0bd}.mock-days .active{background:var(--tac-primary)}
.mock-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.mock-slots span{padding:12px 10px;border-radius:14px;background:#f7f3ee;text-align:center;font-weight:800}.mock-slots .active{background:#171717;color:#fff}
.mock-summary{padding:16px;border-radius:18px;background:#171717;color:#fff}.mock-summary strong,.mock-summary small{display:block}.mock-summary small{color:rgba(255,255,255,.7)}
.tac-product-mini-mock{
    position:relative;
    z-index:2;
    margin-top:22px;
    padding:18px;
    border-radius:24px;
    background:#fffaf4;
    border:1px solid #ffe0bd;
    min-height:112px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.tac-product-mini-mock i{font-size:2rem;color:var(--tac-primary);margin-bottom:10px}
.tac-product-mini-mock strong{font-size:1.05rem}.tac-product-mini-mock span{color:var(--tac-muted)}
.mockup-qr{background:linear-gradient(135deg,#fffaf4,#fff)}
.mockup-menu{flex-direction:row;align-items:center;justify-content:space-between}.mockup-menu b,.mockup-menu span{display:block}.mockup-menu i{font-size:2.4rem;margin:0}
.mockup-ppw{background:linear-gradient(135deg,#fff,#f0fff6);border-color:#d6f5df}.mockup-ppw i{color:#25D366}

@media (max-width:991px){
    .tac-products-grid{grid-template-columns:1fr 1fr}
    .tac-product-featured{grid-column:span 2;grid-template-columns:1fr}
}
@media (max-width:575px){
    .tac-products-grid{grid-template-columns:1fr}
    .tac-product-featured{grid-column:span 1;padding:26px}
    .tac-product-card{padding:24px;border-radius:28px}
    .tac-product-featured h3{font-size:2rem}
    .tac-product-actions .btn{width:100%}
    .tac-product-mockup{display:none}
}

/* ==============================
   Entrega 003A - Identidad visual
   ============================== */
.tac-hero-003{
    position:relative;
    overflow:hidden;
    background:
        linear-gradient(180deg,#fff8ef 0%,#fff 72%),
        radial-gradient(circle at 20% 20%, rgba(255,122,0,.18), transparent 32%);
}
.tac-hero-003:after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-1px;
    height:120px;
    background:linear-gradient(180deg,rgba(255,255,255,0),#fff);
    pointer-events:none;
}
.tac-hero-glow{
    position:absolute;
    border-radius:999px;
    filter:blur(6px);
    opacity:.7;
    pointer-events:none;
}
.tac-glow-one{
    width:380px;
    height:380px;
    left:-160px;
    top:120px;
    background:rgba(255,122,0,.16);
}
.tac-glow-two{
    width:460px;
    height:460px;
    right:-170px;
    top:40px;
    background:rgba(255,176,0,.16);
}
.tac-proof-003 div{
    backdrop-filter:blur(10px);
    box-shadow:0 14px 35px rgba(24,18,12,.05);
}
.tac-orbit-wrap{
    position:relative;
    min-height:560px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.tac-orbit-wrap:before{
    content:"";
    position:absolute;
    width:480px;
    height:480px;
    border-radius:50%;
    border:1px dashed rgba(255,122,0,.28);
}
.tac-orbit-wrap:after{
    content:"";
    position:absolute;
    width:330px;
    height:330px;
    border-radius:50%;
    border:1px solid rgba(236,231,223,.9);
}
.tac-orbit-core{
    position:relative;
    z-index:2;
    width:min(360px,90vw);
    padding:28px;
    border:1px solid rgba(236,231,223,.9);
    border-radius:34px;
    background:rgba(255,255,255,.84);
    backdrop-filter:blur(18px);
    box-shadow:0 30px 90px rgba(28,20,12,.14);
}
.tac-core-logo{
    width:162px;
    height:58px;
    display:flex;
    align-items:center;
    margin:8px 0 28px;
}
.tac-core-logo img{max-height:48px;width:auto}
.tac-orbit-core h3{
    font-weight:800;
    letter-spacing:-.045em;
    line-height:1.05;
    font-size:2rem;
    margin:0 0 12px;
}
.tac-orbit-core p{
    color:var(--tac-muted);
    line-height:1.55;
    margin:0;
}
.tac-core-line{
    display:flex;
    gap:10px;
    margin-top:26px;
}
.tac-core-line span{
    height:9px;
    border-radius:999px;
    background:var(--tac-primary-soft);
    flex:1;
}
.tac-core-line span:first-child{background:var(--tac-primary)}
.tac-core-line span:nth-child(2){background:var(--tac-amber)}
.tac-float-card{
    position:absolute;
    z-index:3;
    display:flex;
    align-items:center;
    gap:13px;
    min-width:205px;
    padding:16px 18px;
    border-radius:22px;
    border:1px solid rgba(236,231,223,.96);
    background:#fff;
    box-shadow:0 20px 50px rgba(28,20,12,.10);
    animation:tacFloat 6s ease-in-out infinite;
}
.tac-float-card i{
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border-radius:15px;
    background:var(--tac-primary-soft);
    color:var(--tac-primary);
    font-size:1.25rem;
}
.tac-float-card strong{display:block;font-weight:800;line-height:1.1}
.tac-float-card span{display:block;color:var(--tac-muted);font-size:.9rem}
.tac-float-card-1{left:0;top:54px}
.tac-float-card-2{right:0;top:90px;animation-delay:.7s}
.tac-float-card-3{left:25px;bottom:80px;animation-delay:1.2s}
.tac-float-card-4{right:18px;bottom:54px;animation-delay:1.8s}
.tac-code-card{
    position:absolute;
    left:50%;
    bottom:6px;
    z-index:3;
    transform:translateX(-50%);
    width:240px;
    padding:17px 18px;
    border-radius:22px;
    background:#171717;
    color:#fff;
    box-shadow:0 20px 60px rgba(0,0,0,.20);
}
.tac-code-card span{color:var(--tac-amber);font-weight:800;font-size:.85rem}
.tac-code-card b{display:block;font-size:1.25rem;line-height:1.1;margin-top:4px}
.tac-code-card small{color:rgba(255,255,255,.68)}
@keyframes tacFloat{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-10px)}
}
.tac-identity-band{
    background:
        radial-gradient(circle at 15% 10%, rgba(255,122,0,.13), transparent 28%),
        linear-gradient(135deg,#171717 0%,#24201c 100%);
    color:#fff;
}
.tac-metric-card,
.tac-stat{
    height:100%;
    border-radius:28px;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.07);
    backdrop-filter:blur(12px);
}
.tac-metric-card{padding:32px}
.tac-metric-card span{
    color:var(--tac-amber);
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:.82rem;
    font-weight:800;
}
.tac-metric-card h2{
    font-size:clamp(2rem,4vw,3.35rem);
    line-height:.98;
    letter-spacing:-.06em;
    font-weight:800;
    margin:12px 0 16px;
}
.tac-metric-card p{color:rgba(255,255,255,.72);line-height:1.65;margin:0}
.tac-stat{
    padding:28px 24px;
    min-height:170px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    transition:.2s ease;
}
.tac-stat:hover{transform:translateY(-4px);background:rgba(255,255,255,.10)}
.tac-stat strong{
    display:block;
    font-size:2.35rem;
    line-height:1;
    letter-spacing:-.05em;
    font-weight:800;
    color:#fff;
    margin-bottom:10px;
}
.tac-stat span{color:rgba(255,255,255,.72);font-weight:600}
.tac-tech-section{position:relative;overflow:hidden}
.tac-tech-section:before{
    content:"";
    position:absolute;
    right:-120px;
    top:-120px;
    width:330px;
    height:330px;
    border-radius:50%;
    background:rgba(255,122,0,.10);
}
.tac-tech-cloud{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    justify-content:flex-start;
}
.tac-tech-cloud span{
    display:inline-flex;
    align-items:center;
    min-height:52px;
    padding:13px 18px;
    border-radius:999px;
    background:#fff;
    border:1px solid var(--tac-border);
    box-shadow:0 12px 26px rgba(20,20,20,.04);
    font-weight:800;
    color:#282421;
}
[data-tac-animate]{
    opacity:0;
    transition:opacity .7s ease, transform .7s ease;
    will-change:opacity,transform;
}
[data-tac-animate="fade-up"]{transform:translateY(26px)}
[data-tac-animate="fade-left"]{transform:translateX(30px)}
[data-tac-animate].is-visible{opacity:1;transform:none}
.tac-product-card,
.tac-service-card,
.tac-step{
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.tac-product-card:hover,
.tac-service-card:hover{
    transform:translateY(-6px);
}
@media (max-width:991px){
    .tac-orbit-wrap{min-height:620px;margin-top:10px}
    .tac-float-card-1{left:0;top:28px}
    .tac-float-card-2{right:0;top:120px}
    .tac-float-card-3{left:0;bottom:125px}
    .tac-float-card-4{right:0;bottom:55px}
}
@media (max-width:575px){
    .tac-orbit-wrap{min-height:560px}
    .tac-orbit-wrap:before{width:360px;height:360px}
    .tac-orbit-wrap:after{width:270px;height:270px}
    .tac-orbit-core{padding:22px;border-radius:28px}
    .tac-orbit-core h3{font-size:1.55rem}
    .tac-float-card{min-width:auto;width:182px;padding:13px 14px}
    .tac-float-card i{width:38px;height:38px}
    .tac-float-card-1{left:0;top:12px}
    .tac-float-card-2{right:0;top:105px}
    .tac-float-card-3{left:0;bottom:122px}
    .tac-float-card-4{right:0;bottom:45px}
    .tac-code-card{width:210px}
    .tac-stat{min-height:135px}
}
@media (prefers-reduced-motion:reduce){
    .tac-float-card{animation:none}
    [data-tac-animate]{opacity:1!important;transform:none!important;transition:none!important}
}

/* ==============================
   Entrega 003B - Productos PRO
   ============================== */
.tac-products-pro-section{
    position:relative;
    overflow:hidden;
    background:linear-gradient(180deg,#fff 0%,#fffaf5 52%,#fff 100%);
}
.tac-products-pro-section:before{
    content:"";
    position:absolute;
    left:-160px;
    top:120px;
    width:360px;
    height:360px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,122,0,.12),rgba(255,122,0,0) 68%);
    pointer-events:none;
}
.tac-products-toolbar{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin:0 0 26px;
    padding:18px 20px;
    border:1px solid var(--tac-border);
    border-radius:26px;
    background:rgba(255,255,255,.86);
    box-shadow:0 18px 50px rgba(20,20,20,.045);
}
.tac-products-toolbar strong,
.tac-products-toolbar span{display:block}
.tac-products-toolbar strong{font-weight:800;font-size:1.05rem;color:var(--tac-dark)}
.tac-products-toolbar span{color:var(--tac-muted);font-size:.95rem;margin-top:2px}
.tac-products-grid-pro{align-items:stretch}
.tac-product-pro{
    --product-accent:var(--tac-primary);
    --product-soft:rgba(255,122,0,.1);
    padding:28px;
    border-radius:34px;
    isolation:isolate;
    transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.tac-product-pro:after{
    content:"";
    position:absolute;
    left:26px;
    right:26px;
    top:0;
    height:4px;
    border-radius:0 0 999px 999px;
    background:var(--product-accent);
    opacity:.95;
}
.tac-product-pro:before{
    background:var(--product-soft);
    transition:transform .28s ease, opacity .28s ease;
}
.tac-product-pro:hover{
    transform:translateY(-7px);
    box-shadow:0 28px 80px rgba(20,20,20,.11);
    border-color:rgba(255,122,0,.24);
}
.tac-product-pro:hover:before{transform:scale(1.08);opacity:.9}
.product-reservas{--product-accent:#7c3aed;--product-soft:rgba(124,58,237,.11)}
.product-qr{--product-accent:#465fff;--product-soft:rgba(70,95,255,.1)}
.product-menu{--product-accent:#ff7a00;--product-soft:rgba(255,122,0,.11)}
.product-ppw{--product-accent:#25D366;--product-soft:rgba(37,211,102,.11)}
.tac-product-pro .tac-product-icon{
    background:color-mix(in srgb,var(--product-accent) 12%,#fff);
    color:var(--product-accent);
    box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--product-accent) 18%,#fff);
}
.tac-product-pro .tac-product-kicker,
.tac-product-pro .tac-product-list i{color:var(--product-accent)}
.tac-product-pro .tac-product-tags span{
    background:color-mix(in srgb,var(--product-accent) 8%,#fff);
    border-color:color-mix(in srgb,var(--product-accent) 22%,#fff);
    color:color-mix(in srgb,var(--product-accent) 72%,#222);
}
.tac-product-actions-pro{margin-top:6px}
.tac-product-actions-pro .btn{
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:44px;
}
.btn-tac-light{
    color:#2d241d;
    background:#fff;
    border:1px solid var(--tac-border);
    box-shadow:0 8px 22px rgba(20,20,20,.04);
}
.btn-tac-light:hover{
    color:#111;
    background:#fff8ef;
    border-color:#ffd8ad;
    transform:translateY(-1px);
}
.tac-product-mockup-pro,
.tac-mini-pro{
    transition:transform .28s ease, box-shadow .28s ease;
}
.tac-product-pro:hover .tac-product-mockup-pro,
.tac-product-pro:hover .tac-mini-pro{
    transform:translateY(-8px);
    box-shadow:0 26px 70px rgba(20,20,20,.10);
}
.mock-panel-title{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start;
    margin-bottom:16px;
}
.mock-panel-title strong{font-size:1.05rem;font-weight:800}
.mock-panel-title small{color:var(--tac-muted);font-weight:700}
.tac-mini-pro{
    margin:0 0 20px;
    min-height:130px;
    border-color:color-mix(in srgb,var(--product-accent) 22%,#fff);
    background:linear-gradient(135deg,color-mix(in srgb,var(--product-accent) 9%,#fff),#fff);
}
.tac-mini-pro i{color:var(--product-accent)}
.tac-product-featured.product-reservas{
    background:linear-gradient(135deg,#fff 0%,#fbf7ff 52%,#fff7ed 100%);
}
.tac-product-featured.product-reservas .tac-product-mockup{
    box-shadow:0 28px 80px rgba(124,58,237,.14);
}
@media (max-width:991px){
    .tac-products-toolbar{align-items:flex-start;flex-direction:column}
    .tac-products-toolbar .btn{width:100%}
}
@media (max-width:575px){
    .tac-product-pro{padding:24px}
    .tac-products-toolbar{padding:18px;border-radius:22px}
    .tac-product-actions-pro .btn{justify-content:center}
}

/* =========================================================
   Tres al Cubo - v1.0 RC
   Credibilidad, conversión, proyectos, FAQ y footer PRO
   ========================================================= */
.tac-typewriter{
    display:inline-block;
    color:var(--tac-orange);
    font-weight:800;
    min-width:205px;
    border-right:2px solid rgba(255,122,0,.75);
    animation:tacBlink .9s steps(1) infinite;
}
@keyframes tacBlink{50%{border-color:transparent}}
.tac-timeline{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:16px;
    position:relative;
}

.tac-timeline .tac-step{
    position:relative;
    z-index:1;
    min-height:245px;
}
.tac-step i{
    width:46px;height:46px;border-radius:16px;
    display:inline-flex;align-items:center;justify-content:center;
    background:rgba(255,122,0,.16);color:#ffb15a;font-size:22px;margin:0 0 16px;
}
.tac-project-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}
.tac-project-card{
    background:#fff;
    border:1px solid rgba(17,24,39,.08);
    border-radius:28px;
    padding:28px;
    box-shadow:0 18px 55px rgba(17,24,39,.07);
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    min-height:245px;
}
.tac-project-card:hover{
    transform:translateY(-6px);
    border-color:rgba(255,122,0,.35);
    box-shadow:0 28px 80px rgba(17,24,39,.12);
}
.tac-project-card span{
    display:inline-flex;
    padding:7px 12px;
    border-radius:999px;
    background:rgba(255,122,0,.1);
    color:#b94f00;
    font-size:13px;
    font-weight:800;
    margin-bottom:18px;
}
.tac-project-card h3{font-size:24px;margin:0 0 10px;color:#111827;font-weight:800}
.tac-project-card p{color:#5b6472;margin-bottom:22px;line-height:1.65}
.tac-project-card div{display:flex;flex-wrap:wrap;gap:8px}
.tac-project-card b{
    font-size:12px;
    font-weight:800;
    color:#374151;
    background:#f5f6f8;
    border:1px solid rgba(17,24,39,.06);
    padding:7px 10px;
    border-radius:999px;
}
.tac-project-more{
    background:linear-gradient(135deg,#fff7ed,#fff);
    border-color:rgba(255,122,0,.22);
}
.tac-project-more a{color:#f97316;font-weight:800;text-decoration:none}
.tac-faq .accordion-item{
    border:1px solid rgba(17,24,39,.08);
    border-radius:20px!important;
    margin-bottom:12px;
    overflow:hidden;
    box-shadow:0 14px 40px rgba(17,24,39,.05);
}
.tac-faq .accordion-button{
    font-weight:800;
    color:#111827;
    padding:20px 22px;
    box-shadow:none!important;
}
.tac-faq .accordion-button:not(.collapsed){
    background:#fff7ed;
    color:#c95600;
}
.tac-faq .accordion-body{color:#5b6472;line-height:1.7;padding:0 22px 22px}
.tac-final-cta{
    padding:80px 0;
    background:linear-gradient(135deg,#fff7ed,#ffffff 55%,#ffedd5);
}
.tac-final-card{
    position:relative;
    overflow:hidden;
    border-radius:38px;
    padding:58px;
    color:#fff;
    background:
        radial-gradient(circle at top right, rgba(255,255,255,.30), transparent 32%),
        linear-gradient(135deg,#ff7a00,#f15a24 58%,#111827);
    box-shadow:0 35px 90px rgba(241,90,36,.28);
}
.tac-final-card:before{
    content:"";position:absolute;inset:-40% -20% auto auto;width:360px;height:360px;border-radius:50%;
    background:rgba(255,255,255,.12);
}
.tac-final-card span{display:inline-flex;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:13px;margin-bottom:16px}
.tac-final-card h2{font-size:clamp(34px,5vw,58px);line-height:1.04;margin:0 0 18px;font-weight:900;max-width:820px}
.tac-final-card p{max-width:720px;color:rgba(255,255,255,.82);font-size:18px;line-height:1.7;margin-bottom:30px}
.btn-tac-dark{background:#111827;color:#fff;border:0;border-radius:999px;font-weight:800;padding:14px 24px}
.btn-tac-dark:hover{background:#000;color:#fff;transform:translateY(-2px)}
.btn-tac-white{background:#fff;color:#111827;border:0;border-radius:999px;font-weight:800;padding:14px 24px}
.btn-tac-white:hover{background:#fff7ed;color:#111827;transform:translateY(-2px)}
.tac-footer-pro{
    padding:70px 0 26px;
    background:#0f172a;
    color:#cbd5e1;
}
.tac-footer-pro .tac-footer-logo{width:165px;background:#fff;border-radius:18px;padding:10px;margin-bottom:18px}
.tac-footer-pro p{color:#94a3b8;line-height:1.7;max-width:360px;margin:0}
.tac-footer-pro h4{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#fff;font-weight:900;margin-bottom:16px}
.tac-footer-pro a{display:block;color:#cbd5e1;text-decoration:none;margin-bottom:10px;font-weight:600}
.tac-footer-pro a:hover{color:#ffb15a}
.tac-footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:42px;padding-top:22px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}
.tac-footer-bottom p,.tac-footer-bottom span{margin:0;color:#94a3b8;font-size:14px}
[data-tac-count]{transition:color .2s ease}
@media (max-width: 1199px){
    .tac-timeline{grid-template-columns:repeat(3,1fr)}
    .tac-timeline:before{display:none}
}
@media (max-width: 991px){
    .tac-project-grid{grid-template-columns:1fr 1fr}
    .tac-final-card{padding:42px 28px;border-radius:30px}
}
@media (max-width: 575px){
    .tac-timeline,.tac-project-grid{grid-template-columns:1fr}
    .tac-typewriter{min-width:0}
    .tac-footer-pro .tac-footer-logo{width:140px}
}

/* =========================================================
   v1.1 Producción - Formulario AJAX y ajuste timeline
   ========================================================= */
.tac-timeline:before{
    left:8%;
    right:8%;
    top:43px;
    height:2px;
    background-image:linear-gradient(90deg, rgba(255,255,255,.38) 0 44%, transparent 44% 100%);
    background-size:18px 2px;
    background-repeat:repeat-x;
    opacity:.65;
}
@media (max-width:1199px){
    .tac-timeline:before{display:none!important}
}
.tac-hp{
    position:absolute!important;
    left:-9999px!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
}
.tac-form-feedback{
    display:none;
    padding:14px 16px;
    border-radius:18px;
    font-weight:700;
    line-height:1.45;
}
.tac-form-feedback.is-visible{display:block}
.tac-form-feedback.is-info{
    background:rgba(255,122,0,.10);
    color:#9a4300;
    border:1px solid rgba(255,122,0,.18);
}
.tac-form-feedback.is-success{
    background:rgba(34,197,94,.10);
    color:#166534;
    border:1px solid rgba(34,197,94,.18);
}
.tac-form-feedback.is-error{
    background:rgba(239,68,68,.10);
    color:#991b1b;
    border:1px solid rgba(239,68,68,.18);
}
.tac-btn-loading{display:none;align-items:center;gap:8px}
.btn.is-loading .tac-btn-text{display:none}
.btn.is-loading .tac-btn-loading{display:inline-flex}
.tac-form.was-validated .form-control:invalid,
.tac-form.was-validated .form-select:invalid{
    border-color:#ef4444;
    box-shadow:0 0 0 .2rem rgba(239,68,68,.08);
}
