@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
/* Identidad de Ernesto Roldán: tinta, marfil y azul. */
:root{--serif:'Manrope',Arial,sans-serif;--sans:'Inter',system-ui,sans-serif}
.personal-site{--ink:#081b30;--paper:#f4f2ed;--surface:#fffdfa;--blue:#2479bd;--bright:#60b6ff;--line:#dedfdc;--muted:#5e6975}
.site-header{background:#081b30;padding-top:16px;padding-bottom:10px}
.nav-shell{background:#10283ff2;border-color:#ffffff14;box-shadow:0 8px 32px #00000016;border-radius:15px}
.brand{letter-spacing:-.02em}.monogram{height:38px;width:38px;border-radius:11px;background:#ffffff05;border-color:#69b4eb66;font-size:24px;letter-spacing:-.12em;padding-right:3px}
.brand>span:last-child{line-height:1.05}.brand em{color:#89c9ff}
.desktop-nav a[aria-current]{background:#ffffff08;box-shadow:inset 0 -2px #77bcf1}
.nav-contact{background:#e1ecf4;color:#081b30;border:1px solid #ffffff0d}.nav-contact:hover{background:#fff}
.hero{background:#081b30;padding-top:64px;padding-bottom:72px}
.hero::before{background:radial-gradient(ellipse at 80% 32%,#1b55743d,transparent 60%),linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:auto,72px 72px,72px 72px}
.hero h1{font-size:clamp(80px,10vw,140px);letter-spacing:-.055em}.hero h1 em{color:#89c9ff}
.hero-statement{color:#d4e0eb;font-size:clamp(24px,2.2vw,31px)}
.hero-report{position:relative;background:linear-gradient(145deg,#17334d,#10253b);border-color:#87b7d329;border-radius:20px;box-shadow:0 24px 80px -28px #00000080}
.hero-report::before{content:'';position:absolute;top:-1px;left:26px;right:26px;height:1px;background:linear-gradient(90deg,transparent,#87cfff80,transparent)}
.hero-report .report-heading{font-weight:500;color:#dbe5ef}.hero-report .pill{border-color:#7795b32e;background:#0d2135;color:#a7d8ff}
.hero-report>a{padding-top:15px;border-top:1px solid #ffffff0a;color:#a7d8ff}
.button{border-radius:10px;letter-spacing:.01em}.button-blue{background:#8fc9f6;color:#081b30;border-color:#b3deff}.button-blue:hover{background:#b9e2ff}.button-outline{border-color:#b9ccde47}
.proof-strip{background:#edece6}.proof-strip span{letter-spacing:.02em}.proof-strip a{font-size:11px}
.eyebrow{font-size:10px;letter-spacing:.14em}.section-heading{gap:36px}.section-heading h2{max-width:680px;font-size:clamp(38px,4.2vw,60px)}
.section-heading>.text-link{padding-bottom:6px;white-space:nowrap}
.work-card{border-radius:18px;background:#fffdfa;border-color:#dde0df;box-shadow:0 2px 4px #081b3003}.work-card:hover{box-shadow:0 15px 35px -20px #081b3030;border-color:#9eb8c8}
.card-visual{height:216px;background:#10283f;border-bottom:0;position:relative}.card-content{padding:26px}.card-content .eyebrow{letter-spacing:.08em;color:#427696}.card-content h3{font-size:31px;line-height:1.08}.card-content p{font-size:13px;line-height:1.65}.card-content .text-link{font-size:12px;color:#2479bd;display:flex;align-items:center;justify-content:space-between}
.analysis-preview{background:#eaece8;border-color:#d9dfdc}.demo-rows{background:#fffdf9;border-color:#d7ddda;border-radius:16px}.demo-rows>a{padding-block:21px;font-size:13px}.demo-rows strong{color:#386e95;font-weight:600}.demo-rows .caption{font-size:10px;color:#778089}
.preview-grid h2{font-size:clamp(38px,4.5vw,64px)}.contact-band{background:#081b30}.contact-band h2 em{color:#89c9ff}.contact-band .button-light{background:#e1ecf4}
.site-footer{background:#081b30}.footer-grid p{letter-spacing:.02em}.footer-company a{font-size:12px}.footer-bottom{font-size:10px;letter-spacing:.03em}
.page-intro{padding-top:54px;padding-bottom:42px}.page-intro h1{font-size:clamp(48px,6.2vw,86px)}.page-intro>.eyebrow{margin-bottom:20px}.catalog-toolbar{padding-block:16px}.filter-set button[aria-pressed=true]{background:#10283f;box-shadow:0 2px 5px #081b3012}.search-field input{background:#fffdf9;border-color:#d3d9dc}
.editorial-card{position:relative;background:#fffdfa;border-radius:16px;border-color:#dde0df;transition:border-color .2s,box-shadow .2s}.editorial-card:hover{border-color:#9eb8c8;box-shadow:0 12px 30px -20px #081b3030}.editorial-card h3{font-size:32px}.editorial-card .eyebrow{letter-spacing:.07em;color:#427696}.editorial-card .text-link{font-size:12px}
.credentials{background:#fffdfa}.credential-row{background:#f3f2ed;border-color:#e0e3e0}.credential-row:hover{background:#edf1f2}.credential-profile{background:#fffdfa}.company-note{background:#fffdfa}.method-section{background:#eaece8}
body.migrated-detail .text-ieo-primary,body.migrated-detail .text-ieo-accent{color:#2479bd!important}
body.migrated-detail .text-slate-400,body.migrated-detail .text-slate-500,body.migrated-detail .text-gray-400,body.migrated-detail .text-gray-500{color:#5e6975!important}
@media(max-width:700px){.hero{padding-top:40px;padding-bottom:44px}.hero h1{font-size:clamp(80px,21vw,116px)}.hero-report{padding:22px}.section-heading>.text-link{white-space:normal}.card-content{padding:24px}.page-intro{padding-top:36px;padding-bottom:24px}.card-visual{height:220px}.site-header{padding-top:10px}.nav-shell{padding-inline:12px}.nav-contact{font-size:11px}.section-heading h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){.editorial-card{transition:none}}

/* Tipografía contemporánea: títulos geométricos y lectura neutra. */
.personal-site h1,.personal-site h2,.personal-site h3{font-family:var(--serif);font-weight:700}
.personal-site h1 em,.personal-site h2 em,.brand em,.footer-brand em{font-style:normal}
.brand{font-family:var(--serif);font-weight:700;font-size:21px;letter-spacing:-.045em}
.monogram{font-family:var(--serif);font-size:17px;font-weight:700;letter-spacing:-.09em;padding-right:2px}
.hero h1{font-size:clamp(72px,7.6vw,108px);font-weight:800;line-height:1.02;letter-spacing:-.065em;margin:22px 0 26px}
.hero-statement{font-family:var(--sans);font-weight:400;font-size:clamp(19px,1.7vw,23px);line-height:1.5;letter-spacing:-.035em;max-width:540px}
.personal-site h2,.section-heading h2,.preview-grid h2,.contact-band h2{font-size:clamp(32px,3.2vw,44px);line-height:1.14;letter-spacing:-.055em}
.page-intro h1{font-size:clamp(42px,5vw,68px);line-height:1.09;letter-spacing:-.055em}
.card-content h3,.editorial-card h3{font-family:var(--serif);font-weight:700;font-size:22px;line-height:1.24;letter-spacing:-.035em}
.editorial-card h3{font-size:24px}.editorial-card{min-height:226px}
.card-content p{font-size:13px;line-height:1.75}.eyebrow{font-weight:600;letter-spacing:.12em}
.footer-brand{font-family:var(--serif);font-weight:700;font-size:21px;letter-spacing:-.04em}
.report-total strong{font-family:var(--serif);font-size:30px;font-weight:600;letter-spacing:-.055em}.report-total small{font-size:15px}
.credentials-intro h2{font-family:var(--serif);font-size:clamp(32px,3.2vw,44px);font-weight:700;letter-spacing:-.055em}
.method-grid h3{font-family:var(--serif);font-size:24px;font-weight:700;letter-spacing:-.04em}
.capability-list h3{font-family:var(--sans);font-size:16px;font-weight:600;letter-spacing:-.025em}
.demo-intro h1{font-size:clamp(32px,3.6vw,48px)}
body.migrated-detail h1,body.migrated-detail h2,body.migrated-detail h3{font-family:var(--serif)!important;font-weight:700!important;letter-spacing:-.04em}
body.migrated-detail .brand em,body.migrated-detail .footer-brand em{font-style:normal}
@media(max-width:700px){.brand{font-size:17px}.hero h1{font-size:clamp(66px,18vw,88px);letter-spacing:-.06em;line-height:1.04}.hero-statement{font-size:19px}.section-heading h2,.preview-grid h2,.contact-band h2{font-size:34px}.page-intro h1{font-size:42px}.card-content h3{font-size:23px}.editorial-card h3{font-size:23px}.footer-brand{font-size:20px}}
@media(max-width:360px){.brand{font-size:16px}.hero h1{font-size:64px}.page-intro h1{font-size:38px}}
