:root{--ui-bg:#f6faf7;--ui-soft:#f0f6f1;--ui-accent:#B8D1B5;--ui-accent-2:#E88E9C;--ui-ink:#2c3430;--ui-muted:#6b746f;--ui-border:#d9e5db;--ui-shadow:rgba(25, 55, 35, 0.08)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;display:flex;flex-direction:column;overflow-x:hidden}main{flex:1}body{font-family:Arial,sans-serif;background-color:#f5f5f5;color:#333;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}a:hover{color:var(--ui-accent-2)}a:focus,button:focus,input:focus,textarea:focus{outline:3px solid var(--ui-accent-2);outline-offset:2px}h1,h2,h3,h4,h5,h6{color:var(--ui-ink);line-height:1.2;margin:0 0 .5rem}p{margin:0 0 .75rem}small,.small{font-size:.875rem;color:var(--ui-muted)}.elev-1{box-shadow:0 2px 6px var(--ui-shadow)}.elev-2{box-shadow:0 6px 16px var(--ui-shadow)}.elev-3{box-shadow:0 12px 24px var(--ui-shadow)}.radius-sm{border-radius:8px}.radius-md{border-radius:12px}.radius-lg{border-radius:16px}.radius-xl{border-radius:24px}.btn.btn-success{border-radius:12px;box-shadow:0 6px 16px var(--ui-shadow);border:1px solid #a7c9a5}.btn.btn-success:hover{filter:brightness(0.98)}.btn.btn-outline-secondary{border-radius:12px;background-color:#198754;color:#fff;border:1px solid #198754}.btn.btn-outline-secondary:hover{background-color:#157347;border-color:#146c43;color:#fff}.link-underline:hover{text-decoration:underline}.form-control{border-radius:12px;border:1px solid var(--ui-border);background:#fff;box-shadow:0 6px 16px var(--ui-shadow);transition:border-color .12s ease,box-shadow .12s ease}.form-control:focus{border-color:#a7c9a5;box-shadow:0 0 0 .2rem rgba(25,135,84,.12),0 8px 22px var(--ui-shadow);outline:0}.form-label{color:#3b453f;font-weight:600}.card{border:1px solid var(--ui-border);border-radius:12px;box-shadow:0 6px 16px var(--ui-shadow);background:#fff}header .navbar{backdrop-filter:saturate(1.1) blur(6px);background:linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%) !important;border-bottom:1px solid var(--ui-border)}.navbar-brand{letter-spacing:.2px}.navbar .nav-link{border-radius:10px;padding:.5rem .85rem}.navbar .nav-link:hover{background:var(--ui-soft)}.navbar .nav-link.active{background:#e9f3eb;border:1px solid var(--ui-border)}footer{margin-top:40px;padding:15px;text-align:center;background:linear-gradient(180deg, var(--ui-accent) 0%, #a9c6a6 100%);color:#1f2a23;font-size:.9em;border-top:0;box-shadow:0 -6px 18px var(--ui-shadow) inset}footer a{color:#17351f}footer a:hover{color:#0f2717;text-decoration:underline}main#contenido>section:first-of-type{position:relative;background:radial-gradient(1000px 600px at 120% -10%, #e9f6ed 0%, rgba(233, 246, 237, 0) 60%),radial-gradient(800px 500px at -10% 120%, #fff1f3 0%, rgba(255, 241, 243, 0) 60%),#fff;border-bottom:1px solid var(--ui-border)}main#contenido>section:first-of-type .container{padding-top:.5rem;padding-bottom:.5rem}main#contenido>section:first-of-type h1{color:var(--ui-ink)}main#contenido>section:first-of-type p.lead{color:#3b453f}main#contenido>section:first-of-type p{color:var(--ui-muted)}main#contenido>section:first-of-type ul{padding-left:1.1rem;color:var(--ui-ink)}main#contenido>section:first-of-type ul li{margin-bottom:.25rem}main#contenido>section:first-of-type img{box-shadow:0 10px 30px var(--ui-shadow)}@media(min-width: 992px){main#contenido>section:first-of-type .container{padding-top:.75rem;padding-bottom:.75rem}}@media(max-width: calc(576px - 0.02px)){main#contenido>section:first-of-type h1{font-size:1.85rem}main#contenido>section:first-of-type .d-flex.gap-3{gap:.6rem !important;justify-content:center;flex-wrap:wrap}}main#contenido>section:nth-of-type(2){background:var(--ui-bg);border-top:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border)}main#contenido>section:nth-of-type(2) h2{color:var(--ui-ink)}main#contenido>section:nth-of-type(2) .bg-light{background:linear-gradient(180deg, #ffffff 0%, #f7faf7 100%);border:1px solid var(--ui-border);border-radius:12px;box-shadow:0 10px 24px var(--ui-shadow);padding:16px;transition:transform .15s ease,box-shadow .15s ease}main#contenido>section:nth-of-type(2) .bg-light:hover{transform:translateY(-3px);box-shadow:0 14px 28px var(--ui-shadow)}main#contenido>section:nth-of-type(3) h2{color:var(--ui-ink)}main#contenido>section:nth-of-type(3) .border{border-color:var(--ui-border) !important;background:#fff;box-shadow:0 4px 14px var(--ui-shadow);transition:transform .12s ease,box-shadow .12s ease}main#contenido>section:nth-of-type(3) .border:hover{transform:translateY(-2px);box-shadow:0 10px 22px var(--ui-shadow)}main#contenido>section:nth-of-type(3) strong{color:#31463a}.about-page{position:relative;background:radial-gradient(900px 520px at 110% -10%, #e9f6ed 0%, rgba(233, 246, 237, 0) 60%),radial-gradient(700px 480px at -10% 110%, #fff1f3 0%, rgba(255, 241, 243, 0) 60%),#fff;border-top:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border)}.about-page h1{color:var(--ui-ink);letter-spacing:.2px}.about-page p.lead{color:#3b453f;margin-bottom:.35rem}.about-page p{color:var(--ui-muted)}.about-page img{box-shadow:0 10px 30px var(--ui-shadow);border-color:#cfe3cf !important}.about-page .mt-4 ul{margin:.5rem 0 0 1.1rem;color:var(--ui-ink)}.about-page .mt-4 ul li{margin-bottom:.35rem}.about-page .row.g-3.mt-4 .p-3{background:linear-gradient(180deg, #ffffff 0%, #f7faf7 100%);border:1px solid var(--ui-border) !important;box-shadow:0 6px 18px var(--ui-shadow);transition:transform .12s ease,box-shadow .12s ease}.about-page .row.g-3.mt-4 .p-3:hover{transform:translateY(-3px);box-shadow:0 12px 24px var(--ui-shadow)}@media(min-width: 992px){.about-page .container{padding-top:.5rem;padding-bottom:.5rem}}@media(max-width: calc(576px - 0.02px)){.about-page h1{font-size:1.75rem}.about-page .row.g-3.mt-4>[class*=col-]{margin-bottom:.35rem}}.experience-page{position:relative;background:radial-gradient(900px 520px at 110% -10%, #e9f6ed 0%, rgba(233, 246, 237, 0) 60%),radial-gradient(700px 480px at -10% 110%, #fff1f3 0%, rgba(255, 241, 243, 0) 60%),#fff;border-top:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border)}.experience-page .experiencia{max-width:900px;margin:30px auto;padding:20px;background:#fff;border-radius:12px;box-shadow:0 8px 22px var(--ui-shadow);text-align:center}.experience-page .experiencia h1{color:var(--ui-ink);letter-spacing:.2px}.experience-page .experiencia>p{color:var(--ui-muted)}.experience-page .experiencia .exp-cards{display:grid;grid-template-columns:repeat(2, 1fr);gap:18px}@media(max-width: calc(768px - 0.02px)){.experience-page .experiencia .exp-cards{grid-template-columns:1fr}}.experience-page .experiencia .exp-card{background:linear-gradient(180deg, #ffffff 0%, #f7faf7 100%);border:1px solid var(--ui-border);border-radius:14px;box-shadow:0 10px 24px var(--ui-shadow);padding:18px;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;text-align:left}.experience-page .experiencia .exp-card:hover{transform:translateY(-3px);box-shadow:0 16px 30px var(--ui-shadow);border-color:#cfe3cf}.experience-page .experiencia .exp-card h2{color:#4b6a58;margin-bottom:6px;font-size:1.2em}.experience-page .experiencia .exp-card p{margin:0;font-size:.98em;color:#444}.experience-page .experiencia .mt-24{margin-top:24px}.experience-page .experiencia .skills-list{list-style:none;display:flex;flex-wrap:wrap;gap:12px;margin:14px auto 0;max-width:700px;justify-content:center;padding:0}.experience-page .experiencia .skill{border:1px solid var(--ui-border);background:#fff;border-radius:999px;box-shadow:0 6px 16px var(--ui-shadow);color:#333;padding:8px 12px;font-size:.95em;white-space:nowrap;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.experience-page .experiencia .skill:hover{transform:translateY(-2px);box-shadow:0 12px 22px var(--ui-shadow);border-color:#cfe3cf}.experience-page .experiencia .experiencia-img{display:block;width:200px;margin:20px auto;border:4px solid var(--ui-accent);border-radius:10px;box-shadow:0 10px 30px var(--ui-shadow);border-color:#cfe3cf}@media(min-width: 992px){.experience-page .experiencia{padding:28px}}@media(max-width: calc(576px - 0.02px)){.experience-page .experiencia h1{font-size:1.75rem}.experience-page .experiencia .exp-card{padding:16px}}.projects-page{position:relative;background:radial-gradient(900px 520px at 110% -10%, #e9f6ed 0%, rgba(233, 246, 237, 0) 60%),radial-gradient(700px 480px at -10% 110%, #fff1f3 0%, rgba(255, 241, 243, 0) 60%),#fff;border-top:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border)}.projects-page .proyectos{max-width:900px;margin:30px auto;padding:20px;background:#fff;border-radius:12px;box-shadow:0 8px 22px var(--ui-shadow);text-align:center}.projects-page .proyectos h1{color:var(--ui-ink);letter-spacing:.2px}.projects-page .proyectos>p{color:var(--ui-muted)}.projects-page .proyectos .bg-light{background:linear-gradient(180deg, #ffffff 0%, #f7faf7 100%);border:1px solid var(--ui-border);border-radius:12px;box-shadow:0 10px 24px var(--ui-shadow);padding:16px;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.projects-page .proyectos .bg-light:hover{transform:translateY(-3px);box-shadow:0 16px 30px var(--ui-shadow);border-color:#cfe3cf}.projects-page .proyectos h2.h5{color:#3b453f}.projects-page .proyectos .row.g-4{align-items:stretch}.projects-page .proyectos .row.g-4>[class*=col-]{display:grid;grid-template-rows:auto auto 1fr auto;gap:.35rem}.projects-page .proyectos .galeria-item{position:relative;width:100%;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--ui-border);box-shadow:0 10px 24px var(--ui-shadow);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;padding:0;margin-bottom:.4rem}.projects-page .proyectos .galeria-item:hover{transform:translateY(-4px);box-shadow:0 16px 32px var(--ui-shadow);border-color:#cfe3cf}.projects-page .proyectos .galeria-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0;border-radius:inherit;display:block}.projects-page .proyectos h2.h5{margin:.5rem 0 0;color:#4b6a58;line-height:1.3;height:2.6em;overflow:hidden}.projects-page .proyectos h2.h5+p{color:var(--ui-muted);margin-bottom:.35rem;line-height:1.5;height:4.5em;overflow:hidden}.projects-page .proyectos h2.h5+p+p{font-size:.95rem;color:#2c3430;margin-top:0;align-self:end}@media(min-width: 992px){.projects-page .proyectos{padding:28px}}@media(max-width: calc(576px - 0.02px)){.proyectos h1{font-size:1.75rem}.projects-page .proyectos h2.h5+p{height:auto;max-height:none}}.contact-page{position:relative;background:radial-gradient(900px 520px at 110% -10%, #e9f6ed 0%, rgba(233, 246, 237, 0) 60%),radial-gradient(700px 480px at -10% 110%, #fff1f3 0%, rgba(255, 241, 243, 0) 60%),#fff;border-top:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border)}.contact-page h1{color:var(--ui-ink);letter-spacing:.2px}.contact-page .contact-card{max-width:430px;background:linear-gradient(180deg, #ffffff 0%, #f7faf7 100%);border:1px solid var(--ui-border);border-radius:12px;box-shadow:0 10px 24px var(--ui-shadow);padding:16px;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.contact-page .contact-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px var(--ui-shadow);border-color:#cfe3cf}.contact-page .list-group-item{background:rgba(0,0,0,0)}.contact-page .list-group-item+.list-group-item{border-top:1px dashed #cfdacf}.contact-page .list-group-item i{color:#198754 !important}.contact-page .small.text-muted{color:#6b746f !important}.contact-page .row.g-4>[class*=col-]{display:flex;flex-direction:column}.contact-page form.flex-grow-1{display:flex;flex-direction:column}.contact-page form.flex-grow-1 .btn{align-self:flex-start}@media(min-width: 992px){.contact-page .container{padding-top:.5rem;padding-bottom:.5rem}}@media(max-width: calc(576px - 0.02px)){.contact-page h1{font-size:1.75rem}}
