:root{--burg:#5b1626;--ink:#171717;--cream:#f8f5f1;--line:#e7dfda;--muted:#746d69}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:4}.brand{font-weight:800;letter-spacing:.18em;color:var(--burg);text-decoration:none}nav{display:flex;gap:24px;align-items:center}nav a,.linkbtn{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-decoration:none;background:none;border:0;cursor:pointer}.inline{display:inline;margin:0}main{max-width:1280px;margin:auto;padding:60px 5vw 90px}.hero{min-height:64vh;display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:center}.eyebrow{font-size:11px;letter-spacing:.2em;color:var(--burg);font-weight:800}h1{font-family:Georgia,serif;font-size:54px;line-height:1.02;font-weight:400;margin:18px 0 24px}h2{font-family:Georgia,serif;font-weight:400;margin-top:44px}.hero p{font-size:18px;line-height:1.6;max-width:580px}.btn{display:inline-block;background:var(--burg);color:#fff;text-decoration:none;border:0;padding:15px 22px;font-size:11px;letter-spacing:.14em;font-weight:700;cursor:pointer}.btn.secondary{background:#fff;color:var(--burg);border:1px solid var(--burg)}.btn.small{padding:11px 14px}.hero-card{height:390px;background:var(--burg);color:#fff;padding:38px;display:flex;flex-direction:column;justify-content:space-between;letter-spacing:.08em}.hero-card strong{font-family:Georgia,serif;font-size:28px;font-weight:400}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;border-top:1px solid var(--line);padding-top:35px}.three b{color:var(--burg)}.muted{color:var(--muted)}.narrow,.login{max-width:720px;margin:auto}.center{text-align:center}.formcard{background:#fff;border:1px solid var(--line);padding:30px}.formcard p{display:grid;gap:7px}.formcard input,.formcard select,.formcard textarea,.selector select{width:100%;padding:12px;border:1px solid #d9d0cb;background:#fff}.formcard input[type=checkbox]{width:auto}.topline{display:flex;justify-content:space-between;align-items:flex-start}.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.kpis div{background:#fff;border:1px solid var(--line);padding:24px}.kpis span{color:var(--muted);font-size:12px;text-transform:uppercase}.kpis b{display:block;font-family:Georgia,serif;color:var(--burg);font-size:38px;margin-top:10px}.table{background:#fff;border:1px solid var(--line)}.tr{display:grid;grid-template-columns:1fr 1.4fr 2fr 1fr 1.3fr;gap:14px;padding:15px 18px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.tr.head{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.tag{color:var(--burg);font-weight:700}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.match{background:#fff;border:1px solid var(--line);padding:22px;position:relative}.score{position:absolute;right:18px;top:18px;color:var(--burg);font-size:22px;font-family:Georgia,serif}.match ul{padding-left:18px;min-height:130px}.selector{max-width:520px}.msg{padding:14px;background:#eee4e6;color:var(--burg);margin-bottom:20px}@media(max-width:850px){nav{gap:10px;flex-wrap:wrap}.hero{grid-template-columns:1fr}.hero-card{height:260px}.three,.kpis,.cards{grid-template-columns:1fr}.tr{grid-template-columns:1fr 1fr}.tr span:nth-child(n+3){display:none}h1{font-size:40px}}
.pipeline{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.pipeline a{background:#fff;border:1px solid var(--line);padding:16px;text-decoration:none;color:var(--ink);min-height:88px}.pipeline span{display:block;font-size:11px;color:var(--muted);text-transform:uppercase}.pipeline b{display:block;color:var(--burg);font-family:Georgia,serif;font-size:28px;margin-top:10px}.detail-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:22px}.panel{background:#fff;border:1px solid var(--line);padding:26px}.panel h2{margin-top:0}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.facts div{background:var(--cream);padding:14px}.facts span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase}.facts b{display:block;margin-top:7px}.noteform{display:flex;gap:8px}.noteform input,.filters select{padding:11px;border:1px solid #d9d0cb;background:#fff}.noteform input{flex:1}.timeline{margin-top:18px}.timeline>div{border-left:2px solid var(--line);padding:0 0 14px 15px}.timeline p{margin:4px 0}.filters{display:flex;gap:10px;margin:0 0 20px}.empty{padding:24px;color:var(--muted)}@media(max-width:850px){.pipeline{grid-template-columns:repeat(2,1fr)}.detail-grid,.facts{grid-template-columns:1fr}.filters{flex-direction:column}}


/* =========================================================
   GRAD BCN · WEB PÚBLICA
   ========================================================= */

.public-hero {
    min-height: 78vh;
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 7vw;
    align-items: center;
    padding: 35px 0 70px;
}

.public-hero-content h1 {
    font-family: Georgia, serif;
    font-size: clamp(54px, 6vw, 92px);
    line-height: .96;
    font-weight: 400;
    letter-spacing: -.04em;
    margin: 22px 0 30px;
    max-width: 900px;
}

.hero-subtitle {
    max-width: 600px;
    font-size: 18px;
    line-height: 1.7;
    color: var(--muted);
    margin-bottom: 38px;
}

.hero-actions {
    display: flex;
    align-items: center;
    gap: 30px;
}

.text-link,
.back-link {
    color: var(--ink);
    text-decoration: none;
    font-size: 11px;
    letter-spacing: .14em;
    font-weight: 700;
}

.hero-visual {
    height: 510px;
    background: var(--burg);
    color: white;
    padding: 35px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    letter-spacing: .15em;
    font-size: 12px;
}

.hero-visual-bottom {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.hero-visual-bottom strong {
    font-family: Georgia, serif;
    font-size: 30px;
    font-weight: 400;
    letter-spacing: 0;
}

.statement {
    padding: 110px 0;
    border-top: 1px solid var(--line);
    text-align: center;
}

.statement h2 {
    max-width: 950px;
    margin: 28px auto 0;
    font-size: clamp(36px, 4vw, 58px);
    line-height: 1.12;
}

.experience-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.experience-card {
    min-height: 390px;
    padding: 42px;
    border-right: 1px solid var(--line);
    display: flex;
    flex-direction: column;
}

.experience-card:last-child {
    border-right: 0;
}

.experience-card > span {
    font-size: 11px;
    letter-spacing: .15em;
    color: var(--burg);
}

.experience-card h3 {
    font-family: Georgia, serif;
    font-size: 32px;
    font-weight: 400;
    margin: auto 0 18px;
}

.experience-card p {
    color: var(--muted);
    line-height: 1.65;
}

.experience-card.featured {
    background: var(--burg);
    color: white;
}

.experience-card.featured > span,
.experience-card.featured p {
    color: rgba(255,255,255,.72);
}

.how-section {
    padding: 120px 0;
}

.section-heading h2 {
    font-size: clamp(40px, 4vw, 60px);
    margin: 20px 0 65px;
}

.steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 55px;
}

.step {
    border-top: 1px solid var(--ink);
    padding-top: 22px;
}

.step > span {
    color: var(--burg);
    font-size: 11px;
    font-weight: 700;
}

.step h3 {
    font-family: Georgia, serif;
    font-size: 25px;
    font-weight: 400;
    margin: 32px 0 15px;
}

.step p {
    color: var(--muted);
    line-height: 1.65;
}

.final-cta {
    background: var(--burg);
    color: white;
    text-align: center;
    padding: 110px 40px;
}

.final-cta .eyebrow {
    color: rgba(255,255,255,.65);
}

.final-cta h2 {
    font-size: clamp(44px, 5vw, 70px);
    line-height: 1.05;
    margin: 25px 0 45px;
}

.btn-light {
    background: white;
    color: var(--burg);
}


/* =========================================================
   FORMULARI PÚBLIC
   ========================================================= */

.form-page {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 8vw;
    align-items: start;
    padding: 45px 0 80px;
}

.form-intro {
    position: sticky;
    top: 120px;
}

.form-intro .back-link {
    display: block;
    margin-bottom: 70px;
}

.form-intro h1 {
    font-size: clamp(48px, 5vw, 72px);
    margin-bottom: 28px;
}

.form-intro > p {
    color: var(--muted);
    line-height: 1.7;
    max-width: 440px;
}

.form-promise {
    margin-top: 55px;
    border-top: 1px solid var(--line);
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0 16px;
    font-size: 12px;
    line-height: 1.5;
}

.form-promise span {
    color: var(--burg);
    font-weight: 700;
}

.form-promise span,
.form-promise span + * {
    padding-top: 15px;
}

.public-form-wrapper {
    background: white;
    border: 1px solid var(--line);
    padding: 45px;
}

.public-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 26px 22px;
}

.public-field {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.public-field label {
    font-size: 10px;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--muted);
}

.public-field input,
.public-field select,
.public-field textarea {
    width: 100%;
    min-height: 48px;
    padding: 12px 13px;
    border: 0;
    border-bottom: 1px solid #cfc6c1;
    background: transparent;
    font: inherit;
    border-radius: 0;
    outline: none;
}

.public-field textarea {
    min-height: 100px;
}

.public-field input:focus,
.public-field select:focus,
.public-field textarea:focus {
    border-bottom-color: var(--burg);
}

.checkbox-field {
    flex-direction: row;
    align-items: center;
    gap: 12px;
}

.checkbox-field input {
    width: auto;
    min-height: auto;
}

.checkbox-field label {
    order: 2;
}

.public-submit {
    grid-column: 1 / -1;
    margin-top: 18px;
    min-height: 54px;
}

.form-legal {
    grid-column: 1 / -1;
    color: var(--muted);
    font-size: 10px;
    line-height: 1.6;
    margin: 0;
}

.field-error {
    color: var(--burg);
    font-size: 11px;
}


/* =========================================================
   RESPONSIVE WEB PÚBLICA
   ========================================================= */

@media (max-width: 850px) {

    .public-hero {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .public-hero-content h1 {
        font-size: 52px;
    }

    .hero-visual {
        height: 300px;
    }

    .hero-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .statement {
        padding: 80px 0;
    }

    .experience-grid,
    .steps,
    .form-page {
        grid-template-columns: 1fr;
    }

    .experience-card {
        min-height: 300px;
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .form-intro {
        position: static;
    }

    .form-intro .back-link {
        margin-bottom: 40px;
    }

    .public-form {
        grid-template-columns: 1fr;
    }

    .public-submit,
    .form-legal {
        grid-column: 1;
    }

    .public-form-wrapper {
        padding: 28px 20px;
    }
}