:root{
    --primary:#4d6870;
    --primary-dark:#405860;
    --secondary:#9bc9bf;
    --accent:#bfd86d;
    --text:#1f2937;
    --muted:#6b7280;
    --soft:#f8fafc;
    --border:#e5e7eb;
    --white:#ffffff;
}
*{box-sizing:border-box;}
body{margin:0;font-family:'Inter',sans-serif;color:var(--text);background:#fff;}
a{color:inherit;text-decoration:none;}
.container{width:min(1180px, calc(100% - 40px));margin:0 auto;}
.topbar{background:#f8fafc;border-bottom:1px solid var(--border);font-size:13px;color:var(--muted);}
.topbar-inner{min-height:38px;display:flex;justify-content:center;align-items:center;gap:26px;flex-wrap:wrap;}
.topbar a:hover{color:var(--primary);}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);}
.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px;}
.logo{display:flex;align-items:center;}
.logo img{height:54px;width:auto;display:block;}
.footer-logo img{height:58px;}
.main-nav{display:flex;gap:28px;font-size:15px;color:var(--muted);}
.main-nav a:hover{color:var(--primary);}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 26px;border-radius:999px;font-weight:600;font-size:15px;transition:.2s ease;white-space:nowrap;}
.btn-small{padding:10px 18px;font-size:14px;}
.btn-dark{background:var(--primary);color:white;}
.btn-dark:hover{background:var(--primary-dark);transform:translateY(-1px);}
.btn-light{background:white;border:1px solid var(--border);}
.btn-light:hover{border-color:#cbd5e1;transform:translateY(-1px);}
.hero{padding:115px 0 90px;}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;}
.eyebrow{margin:0 0 22px;color:var(--primary);text-transform:uppercase;letter-spacing:.13em;font-size:13px;font-weight:700;}
h1,h2,h3,p{margin-top:0;}
h1{font-size:clamp(48px, 7vw, 78px);line-height:.98;letter-spacing:-.07em;margin-bottom:34px;}
.hero-text{max-width:680px;font-size:21px;line-height:1.65;color:var(--muted);}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:42px;}
.hero-image{position:relative;min-height:500px;border-radius:36px;overflow:hidden;background:#eef5f3;box-shadow:0 30px 80px rgba(31,41,55,.10);}
.hero-image img{width:100%;height:100%;min-height:500px;object-fit:cover;display:block;}
.hero-badge{position:absolute;left:28px;bottom:28px;max-width:360px;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.7);border-radius:22px;padding:18px 22px;font-size:17px;font-weight:750;color:var(--primary);box-shadow:0 20px 50px rgba(31,41,55,.12);}
.trust-strip{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:white;}
.trust-inner{min-height:74px;display:flex;align-items:center;justify-content:center;gap:32px;flex-wrap:wrap;color:var(--muted);font-size:15px;}
.trust-inner span:first-child{color:var(--primary);font-weight:750;}
.section{padding:110px 0;}
.soft{background:var(--soft);}
.section-heading{max-width:760px;margin:0 auto 64px;text-align:center;}
.section-heading h2,.split h2,.dark h2,.final-cta h2{font-size:clamp(36px, 5vw, 58px);line-height:1.05;letter-spacing:-.06em;margin-bottom:24px;}
.section-heading p{font-size:19px;line-height:1.7;color:var(--muted);}
.cards{display:grid;gap:24px;}
.cards.three{grid-template-columns:repeat(3,1fr);}
.card{background:white;border:1px solid var(--border);border-radius:28px;padding:34px;min-height:230px;box-shadow:0 18px 50px rgba(31,41,55,.04);}
.card h3{font-size:23px;letter-spacing:-.03em;margin-bottom:16px;}
.card p{color:var(--muted);line-height:1.7;font-size:16px;}
.card.minimal span{display:block;color:var(--secondary);font-weight:800;margin-bottom:34px;}
.featured-card{border-color:rgba(77,104,112,.25);background:radial-gradient(circle at top right, rgba(191,216,109,.20), transparent 38%), #ffffff;}
.integration-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;}
.integration-tags span{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:rgba(155,201,191,.22);color:var(--primary);font-size:13px;font-weight:700;}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start;}
.split-text p{font-size:20px;line-height:1.8;color:var(--muted);}
.dark{background:var(--primary);color:white;}
.dark-inner{max-width:860px;text-align:center;}
.dark p{color:#e5eeee;font-size:21px;line-height:1.75;}
.final-cta{max-width:820px;text-align:center;}
.final-cta p{font-size:20px;line-height:1.7;color:var(--muted);margin-bottom:36px;}
.footer{padding:70px 0;border-top:1px solid var(--border);background:white;}
.footer-grid{display:grid;grid-template-columns:1.3fr .9fr .8fr .8fr;gap:60px;}
.footer p{color:var(--muted);line-height:1.7;margin-bottom:8px;}
.footer h4{margin:0 0 14px;}
.footer a:hover{color:var(--primary);}
.footer-bottom{border-top:1px solid var(--border);padding:22px 0;font-size:14px;color:var(--muted);}
.footer-bottom .container{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;}
.footer-bottom a:hover{color:var(--primary);}.separator{opacity:.4;}
.page-hero{padding:105px 0 75px;background:white;}.narrow{max-width:860px;}.page-hero h1{font-size:clamp(46px, 6vw, 72px);line-height:1;letter-spacing:-.07em;margin-bottom:28px;}.page-hero p{font-size:21px;line-height:1.65;color:var(--muted);}
.legal-content{max-width:900px;line-height:1.8;color:var(--muted);}.legal-content h2,.legal-content h3{color:var(--text);margin-top:40px;}.legal-content h2:first-child,.legal-content h3:first-child{margin-top:0;}.legal-content ul{padding-left:22px;}.legal-content a{color:var(--primary);font-weight:600;}
.contact-box{max-width:760px;background:white;border:1px solid var(--border);border-radius:28px;padding:42px;box-shadow:0 18px 50px rgba(31,41,55,.04);}.contact-box p{color:var(--muted);line-height:1.7;}.contact-box a{color:var(--primary);font-weight:600;}
@media(max-width:1050px){.main-nav{gap:18px;font-size:14px;}}
@media(max-width:940px){.main-nav{display:none;}.hero{padding:80px 0;}.hero-grid,.split,.footer-grid{grid-template-columns:1fr;gap:45px;}.cards.three{grid-template-columns:1fr;}.hero-image,.hero-image img{min-height:380px;}}
@media(max-width:560px){.container{width:min(100% - 28px, 1180px);}.topbar-inner{justify-content:flex-start;gap:10px 18px;padding:8px 0;}.header-inner .btn{display:none;}.logo img{height:42px;}.footer-logo img{height:46px;}h1{font-size:44px;}.hero-text,.split-text p,.dark p,.final-cta p{font-size:18px;}.section{padding:80px 0;}.hero-image,.hero-image img{min-height:320px;}.hero-badge{left:18px;right:18px;bottom:18px;max-width:none;font-size:15px;}.trust-inner{justify-content:flex-start;gap:14px 22px;padding:18px 0;}}


/* Área profesional / formularios */
.auth-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;align-items:start;}
.auth-card{background:white;border:1px solid var(--border);border-radius:28px;padding:36px;box-shadow:0 18px 50px rgba(31,41,55,.04);}
.auth-card h2{font-size:30px;letter-spacing:-.04em;margin-bottom:12px;}
.auth-card > p{color:var(--muted);line-height:1.7;margin-bottom:28px;}
.auth-form{display:grid;gap:18px;}
.form-group{display:grid;gap:7px;}
.form-group label{font-size:14px;font-weight:700;color:var(--text);}
.form-control{width:100%;border:1px solid var(--border);border-radius:14px;padding:13px 14px;font:inherit;color:var(--text);background:#fff;outline:none;}
.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(77,104,112,.10);}
.form-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-section-title{font-size:15px;font-weight:800;color:var(--primary);margin-top:10px;text-transform:uppercase;letter-spacing:.08em;}
.auth-help{margin-top:30px;padding-top:24px;border-top:1px solid var(--border);color:var(--muted);}
.text-link{color:var(--primary);font-weight:700;}
.message-box{background:white;border:1px solid var(--border);border-radius:28px;padding:36px;box-shadow:0 18px 50px rgba(31,41,55,.04);}
.message-box h2{font-size:34px;letter-spacing:-.04em;margin-bottom:18px;}
.message-box p,.message-box li{color:var(--muted);line-height:1.7;}
.message-box.success{border-color:rgba(155,201,191,.55);}
.message-box.error{border-color:rgba(220,38,38,.25);}
@media(max-width:940px){.auth-grid,.form-grid-two{grid-template-columns:1fr;}}

.si-highlight{
    color:#9bc9bf;
    font-weight:800;
    font-size:1.15em;
}

.login-page{
    padding:55px 0 90px;
    background:var(--soft);
}

.login-heading{
    max-width:760px;
    margin:0 auto 36px;
    text-align:center;
}

.login-heading h1{
    font-size:clamp(38px, 5vw, 58px);
    line-height:1.05;
    letter-spacing:-.06em;
    margin-bottom:18px;
}

.login-heading p{
    color:var(--muted);
    font-size:18px;
    line-height:1.6;
}

.auth-grid{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:28px;
    align-items:start;
}

.auth-card{
    background:white;
    border:1px solid var(--border);
    border-radius:28px;
    padding:34px;
    box-shadow:0 18px 50px rgba(31,41,55,.04);
}

.auth-card h2{
    font-size:28px;
    letter-spacing:-.04em;
    margin-bottom:10px;
}

.auth-card p{
    color:var(--muted);
    line-height:1.6;
}

.auth-card input[type="text"],
.auth-card input[type="password"],
.auth-card select{
    width:100%;
    max-width:100%;
    padding:12px 14px;
    border:1px solid var(--border);
    border-radius:12px;
    font-size:15px;
    margin:6px 0 14px;
}

.auth-card input[type="submit"]{
    border:0;
    cursor:pointer;
    background:var(--primary);
    color:white;
    padding:13px 22px;
    border-radius:999px;
    font-weight:700;
}

.auth-card input[type="submit"]:hover{
    background:var(--primary-dark);
}

.auth-card table{
    width:100%;
}

.auth-card td{
    padding:6px 0;
    vertical-align:middle;
}

@media(max-width:900px){
    .auth-grid{
        grid-template-columns:1fr;
    }
}
