/* ================================================================
   sobre-mi.css — Estilos de /sobre-mi
   ================================================================ */

/* ----- Hero ----- */
.sm-hero          { min-height: 75vh; display: flex; align-items: flex-end; }
.sm-hero-overlay  {
    width: 65%;
    background: linear-gradient(to right, rgba(0,0,0,.78) 0%, rgba(0,0,0,.55) 60%, rgba(0,0,0,0) 100%);
}
.sm-hero-eyebrow  { font-size: .73rem; font-weight: 700; text-transform: uppercase; letter-spacing: .2em; color: rgba(255,255,255,.55); }
.sm-divider       { width: 56px; height: 3px; background: linear-gradient(90deg,#008b8b,#60d3aa); margin-bottom: 1.5rem; border-radius: 2px; }
.sm-hero-lead     { opacity: .88; max-width: 520px; line-height: 1.65; }
.sm-hero-lead-sub { opacity: .70; }

/* ----- Shared helpers ----- */
.sm-eyebrow-dark  { font-size: .73rem; font-weight: 700; text-transform: uppercase; letter-spacing: .16em; color: rgba(255,255,255,.45); }
.sm-accent        { color: #008b8b; }
.sm-accent-green  { color: #95f7b1; }
.sm-bg-light      { background-color: #f8f9fa; }
.sm-dark-text     { opacity: .85; }

/* ----- Quotes ----- */
.sm-quote         { border-left: 4px solid #008b8b; line-height: 1.6; }
.sm-quote-dark    { border-left: 3px solid rgba(149,247,177,.45); opacity: .82; line-height: 1.7; }

/* ----- Intro ----- */
.sm-intro-img     { object-fit: cover; max-height: 500px; }

/* ----- Stat card helpers ----- */
.sm-stat-label        { font-size: .73rem; text-transform: uppercase; letter-spacing: .09em; font-weight: 700; color: #008b8b; }
.sm-cap-label         { font-size: .73rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; color: #008b8b; }
.sm-stat-title        { color: #212529; font-size: .975rem; }
.sm-stat-desc         { font-size: .875rem; }
.sm-stat-strong       { color: #343a40; }
.sm-stat-featured-num { font-size: 4.5rem; }
.sm-stat-md           { font-size: 2.4rem; }

/* ----- Dark section (Cap II) ----- */
.sm-pnl-card      { border: 1px solid rgba(255,255,255,.18); border-radius: 14px; padding: 2rem 1.5rem; margin-bottom: 1.5rem; }
.sm-pnl-label     { font-size: .73rem; font-weight: 700; text-transform: uppercase; letter-spacing: .15em; color: rgba(255,255,255,.45); }
.sm-pnl-stat-col  { padding: 0 .5rem; }
.sm-pnl-stat-sep  { border-right: 1px solid rgba(255,255,255,.15); }
.sm-pnl-stat-sub  { font-size: .78rem; opacity: .65; }
.sm-pnl-hr        { border-color: rgba(255,255,255,.15); margin: 1.5rem 0; }
.sm-pnl-author    { font-size: .9rem; opacity: .85; }
.sm-pnl-author-sub{ font-size: .8rem; opacity: .6; }
.sm-pnl-img       { object-fit: cover; max-height: 180px; }

/* ----- Cap III ----- */
.sm-diabetes-logo { max-height: 70px; }
.sm-small-text    { font-size: .85rem; }
.sm-medium-text   { font-size: .9rem; }

/* ----- Media items (Cap IV) ----- */
.sm-item-title    { font-size: .95rem; }
.sm-item-desc     { font-size: .85rem; }
.sm-item-desc-i   { font-size: .85rem; font-style: italic; }

/* ----- Timeline (Cap V) ----- */
.sm-timeline-title{ font-size: .95rem; }
.sm-timeline-desc { font-size: .875rem; }

/* ----- Marathon (Cap VI) ----- */
.sm-marathon-overlay  { background: rgba(0,0,0,.65); }
.sm-marathon-eyebrow  { font-size: .73rem; font-weight: 700; text-transform: uppercase; letter-spacing: .18em; color: rgba(255,255,255,.45); }
.sm-marathon-lead     { opacity: .78; }
.sm-marathon-card     { background: rgba(255,255,255,.08); backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,.1); }
.sm-marathon-card-featured { background: rgba(0,139,139,.28); backdrop-filter: blur(8px); border: 1px solid rgba(96,211,170,.35); }
.sm-marathon-city     { font-size: .9rem; letter-spacing: .03em; }
.sm-marathon-time     { font-size: .82rem; opacity: .75; }
.sm-marathon-best     { font-size: 1.15rem; font-weight: 800; background: linear-gradient(90deg,#60d3aa,#95f7b1); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.sm-marathon-sub      { font-size: .78rem; opacity: .65; }
.sm-marathon-note     { font-size: .78rem; opacity: .6; }
.sm-marathon-quote    { max-width: 600px; margin: 0 auto; opacity: .88; line-height: 1.75; }

/* ----- Cap VII ----- */
.sm-podcast-img   { max-height: 500px; object-fit: cover; }

/* ----- Credentials ----- */
.sm-cred-title    { font-size: .9rem; line-height: 1.3; }
.sm-cred-desc     { font-size: .815rem; line-height: 1.4; }

/* ----- Una Nota Bárbara ----- */
.sm-una-nota-img      { max-height: 440px; object-fit: cover; }
.sm-una-nota-divider  { width: 1px; background: #dee2e6; align-self: stretch; }
