:root{
  --navy:#1c2b3a; --navy2:#24384e; --gold:#b08d57; --gold2:#c9a978;
  --ink:#2c3a47; --paper:#faf8f5; --grey:#6b7684; --line:#e4ddd2;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Source Sans 3',sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',serif;color:var(--navy)}
a{text-decoration:none;color:inherit}
.container{width:min(1100px,92%);margin:0 auto}

/* NAV */
nav{position:fixed;top:0;width:100%;background:rgba(250,248,245,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:100}
.nav-inner{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;gap:1rem}
.logo{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:600;color:var(--navy);letter-spacing:.02em;white-space:nowrap}
.logo span{color:var(--gold)}
.logo-img{height:80px;width:auto;display:block}
.nav-links{display:flex;gap:1.6rem;list-style:none}
.nav-links a{font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);transition:color .2s}
.nav-links a:hover{color:var(--gold)}
@media(max-width:940px){.nav-links{display:none}}

/* BOTONES */
.btn{display:inline-block;padding:.85rem 2rem;background:var(--navy);color:#fff;border:1px solid var(--navy);font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;transition:.25s;cursor:pointer}
.btn:hover{background:transparent;color:var(--navy)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:#fff}
.btn.gold:hover{background:transparent;color:var(--gold)}

/* HERO */
.hero{min-height:100vh;display:flex;align-items:center;background:linear-gradient(160deg,var(--navy) 0%,var(--navy2) 100%);color:#f4efe8;padding-top:80px}
.hero-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:4rem;align-items:center}
@media(max-width:900px){.hero-inner{grid-template-columns:1fr}}
.eyebrow{font-size:.85rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold2);margin-bottom:1.2rem}
.hero h1{font-size:clamp(2.5rem,5.5vw,4rem);color:#f7f2ea;font-weight:500;line-height:1.1}
.hero h1 em{color:var(--gold2);font-style:italic}
.hero p.lead{margin:1.6rem 0 2.2rem;font-size:1.12rem;font-weight:300;color:#d9d2c6;max-width:36rem}
.hero-card{background:rgba(255,255,255,.05);border:1px solid rgba(201,169,120,.35);padding:2.2rem;backdrop-filter:blur(4px)}
.hero-card h3{color:var(--gold2);font-size:1.35rem;margin-bottom:1rem;font-weight:500}
.hero-card ul{list-style:none}
.hero-card li{padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.08);color:#e8e2d6;font-weight:300;font-size:.97rem}
.hero-card li::before{content:"—";color:var(--gold2);margin-right:.6rem}

/* SECCIONES */
section{padding:5.5rem 0}
.sec-label{font-size:.8rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem}
h2{font-size:clamp(2rem,4vw,2.8rem);font-weight:500;margin-bottom:2.2rem}
h2 em{font-style:italic;color:var(--gold)}

/* SOBRE MÍ */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
@media(max-width:900px){.grid-2{grid-template-columns:1fr}}
.portrait{aspect-ratio:3/4;max-width:420px;background:linear-gradient(145deg,#2e4258,#1c2b3a);border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;position:relative}
.portrait::after{content:"";position:absolute;inset:12px;border:1px solid rgba(201,169,120,.4);pointer-events:none}
.portrait img{width:100%;height:100%;object-fit:cover;display:block}
.portrait .mono{font-family:'Cormorant Garamond',serif;font-size:5rem;color:var(--gold2)}
#sobre-paragraphs p{font-weight:300;color:var(--grey);margin-bottom:1.2rem}

/* FORMACIÓN */
.formation{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
@media(max-width:900px){.form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.form-grid{grid-template-columns:1fr}}
.form-item{border:1px solid var(--line);border-top:3px solid var(--gold);padding:1.8rem;background:var(--paper);transition:.25s}
.form-item:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(28,43,58,.08)}
.form-item h3{font-size:1.25rem;margin-bottom:.5rem;font-weight:600}
.form-item p{font-size:.92rem;color:var(--grey);font-weight:300}
.magister{grid-column:1/-1;background:var(--navy);border:1px solid var(--navy)}
.magister h3{color:var(--gold2)}
.magister p{color:#d9d2c6}

/* TRAYECTORIA */
.tray-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem 4rem}
@media(max-width:820px){.tray-grid{grid-template-columns:1fr}}
.tray-item{padding-left:1.8rem;border-left:2px solid var(--line);position:relative;transition:.25s}
.tray-item::before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;background:var(--paper);border:2px solid var(--gold);border-radius:50%}
.tray-item:hover{border-left-color:var(--gold)}
.tray-item h3{font-size:1.3rem;font-weight:600;margin-bottom:.3rem}
.tray-item .org{font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem}
.tray-item p{font-size:.95rem;color:var(--grey);font-weight:300}

/* SERVICIOS */
.services{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
@media(max-width:820px){.svc-grid{grid-template-columns:1fr}}
.svc{border:1px solid var(--line);padding:2.6rem;transition:.25s;background:var(--paper)}
.svc:hover{border-color:var(--gold);transform:translateY(-4px)}
.svc .num{font-family:'Cormorant Garamond',serif;font-size:2.6rem;color:var(--gold);line-height:1}
.svc h3{font-size:1.7rem;margin:.8rem 0 1rem;font-weight:600}
.svc p{color:var(--grey);font-weight:300}
.svc .escuela{margin-top:1.2rem;padding-top:1rem;border-top:1px dashed var(--line);font-size:.88rem;color:var(--gold);font-style:italic}

/* LIBROS */
.book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
@media(max-width:900px){.book-grid{grid-template-columns:1fr}}
.book{background:#fff;border:1px solid var(--line);padding:2rem;display:flex;flex-direction:column;transition:.25s}
.book:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(28,43,58,.1)}
.book img{width:100%;max-width:230px;margin:0 auto 1.4rem;display:block;box-shadow:0 8px 20px rgba(0,0,0,.15)}
.book h3{font-size:1.3rem;margin-bottom:.4rem;font-weight:600}
.book .sub{font-size:.9rem;font-style:italic;color:var(--gold);margin-bottom:.8rem}
.book p{font-size:.92rem;color:var(--grey);font-weight:300;flex:1}
.buy{display:inline-block;margin-top:1.1rem;margin-right:.5rem;padding:.55rem 1.1rem;border:1px solid var(--gold);color:var(--navy);font-size:.82rem;letter-spacing:.05em;transition:.2s;cursor:pointer}
.buy:hover{background:var(--gold);color:#fff}

/* ESCRITOS (artículos) */
.escritos-intro{font-weight:300;color:var(--grey);margin-bottom:2rem}
.writ-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
@media(max-width:900px){.writ-grid{grid-template-columns:1fr}}
.writ{border:1px solid var(--line);background:#fff;padding:2rem;transition:.25s;display:flex;flex-direction:column}
.writ:hover{border-color:var(--gold)}
.writ .wtype{display:inline-block;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);border:1px solid var(--line);padding:.35rem .8rem;margin-bottom:.8rem;align-self:flex-start}
.writ h3{font-size:1.3rem;margin-bottom:.3rem;font-weight:600}
.writ .wsrc{font-size:.9rem;font-style:italic;color:var(--grey);margin-bottom:.8rem}
.writ p{color:var(--grey);font-size:.95rem;font-weight:300;margin-bottom:1rem;flex:1}
.writ a.more{color:var(--gold);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase}
.writ img{width:100%;margin-bottom:1.1rem;display:block;border:1px solid var(--line)}
.writ .vid{width:100%;aspect-ratio:16/9;margin-bottom:1.1rem;border:0;display:block}

/* BLOG */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
@media(max-width:820px){.blog-grid{grid-template-columns:1fr}}
.post{border:1px solid var(--line);background:#fff;padding:1.8rem;transition:.25s}
.post:hover{border-color:var(--gold)}
.post .date{font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}
.post h3{font-size:1.3rem;margin:.7rem 0;font-weight:600}
.post p{color:var(--grey);font-size:.95rem;font-weight:300}
.post a.more{color:var(--gold);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;display:inline-block;margin-top:.8rem}

/* CONTACTO */
.contact{background:var(--navy);color:#e8e2d6}
.contact h2{color:#f7f2ea}
.contact .sec-label{color:var(--gold2)}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}
.contact-text{font-weight:300;color:#c9c2b4;margin-bottom:1.5rem}
.contact-detail{color:var(--gold2)!important;letter-spacing:.1em;font-weight:400!important}
#contact-form label{display:block;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold2);margin:1.2rem 0 .35rem}
#contact-form input,#contact-form select,#contact-form textarea{width:100%;padding:.9rem;background:rgba(255,255,255,.06);border:1px solid rgba(201,169,120,.35);color:#f4efe8;font-family:'Source Sans 3',sans-serif;font-size:1rem}
#contact-form input:focus,#contact-form textarea:focus,#contact-form select:focus{outline:1px solid var(--gold2)}
#contact-form select option{color:#1c2b3a}

/* FOOTER */
footer{background:#14202c;color:#93a1b0;padding:2.5rem 0;font-size:.9rem}
footer .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;align-items:center}
footer img{height:26px;vertical-align:middle;margin-right:.7rem}

/* WHATSAPP */
.wa{position:fixed;bottom:24px;right:24px;width:58px;height:58px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.3);z-index:200;transition:.25s}
.wa:hover{transform:scale(1.1)}
.wa svg{width:30px;height:30px;fill:#fff}